{\rtf1\windows \deff0{\fonttbl
{\f0\fswiss MS Sans Serif;}{\f1\fmodern Courier New;}{\f2\ftech Symbol;}}\fs20
\page #{\footnote hcAbout}${\footnote \pard{}About this help file}\pard{\fs24\b About this help file}\par\par\pard{}This file was made with the help of {\ul Makertf 3.12b-1}{\v hcMakertf} from the input file sh-utils.texi.\par\par{{START-INFO-DIR-ENTRY\line
* Shell utilities: (sh-utils).          GNU shell utilities.\line
* basename: (sh-utils)basename invocation.      Strip directory and suffix.\line
* chroot: (sh-utils)chroot invocation.          Specify the root directory.\line
* date: (sh-utils)date invocation.              Print/set system date and time.\line
* dirname: (sh-utils)dirname invocation.        Strip non-directory suffix.\line
* echo: (sh-utils)echo invocation.              Print a line of text.\line
* env: (sh-utils)env invocation.                Modify the environment.\line
* expr: (sh-utils)expr invocation.              Evaluate expressions.\line
* factor: (sh-utils)factor invocation.          Print prime factors\line
* false: (sh-utils)false invocation.            Do nothing, unsuccessfully.\line
* groups: (sh-utils)groups invocation.          Print group names a user is in.\line
* hostname: (sh-utils)hostname invocation.      Print or set system name.\line
* id: (sh-utils)id invocation.                  Print real/effective uid/gid.\line
* logname: (sh-utils)logname invocation.        Print current login name.\line
* nice: (sh-utils)nice invocation.              Modify scheduling priority.\line
* nohup: (sh-utils)nohup invocation.            Immunize to hangups.\line
* pathchk: (sh-utils)pathchk invocation.        Check file name portability.\line
* printenv: (sh-utils)printenv invocation.      Print environment variables.\line
* printf: (sh-utils)printf invocation.          Format and print data.\line
* pwd: (sh-utils)pwd invocation.                Print working directory.\line
* seq: (sh-utils)seq invocation.                Print numeric sequences\line
* sleep: (sh-utils)sleep invocation.            Delay for a specified time.\line
* stty: (sh-utils)stty invocation.              Print/change terminal settings.\line
* su: (sh-utils)su invocation.                  Modify user and group id.\line
* tee: (sh-utils)tee invocation.                Redirect to multiple files.\line
* test: (sh-utils)test invocation.              File/string tests.\line
* true: (sh-utils)true invocation.              Do nothing, successfully.\line
* tty: (sh-utils)tty invocation.                Print terminal name.\line
* uname: (sh-utils)uname invocation.            Print system information.\line
* users: (sh-utils)users invocation.            Print current user names.\line
* who: (sh-utils)who invocation.                Print who is logged in.\line
* whoami: (sh-utils)whoami invocation.          Print effective user id.\line
* yes: (sh-utils)yes invocation.                Print a string indefinitely.\line
END-INFO-DIR-ENTRY\par
\pard{}}}\par
{\pard{}This file documents the GNU shell utilities.\par
\par
\pard{}Copyright (C) 1994, 95, 96 Free Software Foundation, Inc.\par
\par
\pard{}Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.\par
\par
\pard{}Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.\par
\par
\pard{}Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation.  }\par
\par
{\page\pard Node: {\b Top}, \keepn Next: {\uldb }{\v }, Prev: {\uldb }{\v }, Up: {\uldb (dir)}{\v Top @dir.hlp}\tab\tab{\uldb About this help file}{\v hcAbout}\line
K{\footnote K Top}
#{\footnote Top}
${\footnote \pard{}GNU shell utilities}\par
\pard\pard{\fs24\b GNU shell utilities}\par
\par
\pard{}{K{\footnote K shell utilities}}{K{\footnote K utilities for shell programming}} This manual minimally documents version 1.13 of the GNU shell utilities.\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb Introduction}{\v Introduction}\tab Caveats, overview, and authors.\par
{\uldb Common options}{\v Common_options}\tab Common options.\par
\par
 \par
{\uldb Date input formats}{\v Date_input_formats}\tab Specifying date strings.\par
{\uldb Printing text}{\v Printing_text}\tab echo printf yes\par
{\uldb Conditions}{\v Conditions}\tab false true test expr\par
{\uldb Redirection}{\v Redirection}\tab tee\par
{\uldb File name manipulation}{\v File_name_manipulation}\tab dirname basename pathchk\par
{\uldb Working context}{\v Working_context}\tab pwd stty printenv tty\par
{\uldb User information}{\v User_information}\tab id logname whoami groups users who\par
{\uldb System context}{\v System_context}\tab date uname hostname\par
{\uldb Modified command invocation}{\v Modified_command_invocation}\tab chroot env nice nohup su\par
{\uldb Delaying}{\v Delaying}\tab sleep\par
{\uldb Numeric operations}{\v Numeric_operations}\tab factor seq\par
\par
 \par
{\uldb Index}{\v Index}\tab General index.\par
\pard{}}}\par
\page\pard Node: {\b Introduction}, \keepn Next: {\uldb Common options}{\v Common_options}, Prev: {\uldb Top}{\v Top}, Up: {\uldb Top}{\v Top}\line
K{\footnote K Introduction}
#{\footnote Introduction}
${\footnote \pard{}Introduction}\par
\pard{\fs24\b Introduction}\par
\par
\pard{}{K{\footnote K introduction}} First of all, this manual is incomplete.  The {\f1{}stty} section, in particular, needs substantial reorganization and additional explanatory text before it will be up to the standard of other GNU manuals.  Explanatory text in general is lacking; the manual presently assumes you pretty much know what to do, and just need to be reminded of how.  Thus, if you are interested, please get involved in improving this manual.  The entire GNU community will benefit.\par
\par
\pard{}Some of these programs are useful only when writing shell scripts; utilities like these are, in fact, the "language" of shell scripts (to a great extent).  Others are occasionally useful interactively.\par
\par
\pard{}{K{\footnote K POSIX.2}}The GNU shell utilities are mostly compatible with the POSIX.2 standard.\par
\par
\pard{}{K{\footnote K bugs, reporting}}Please report bugs to {\f1{}sh-utils-bugs@gnu.ai.mit.edu}.  Remember to include the version number, machine architecture, input files, and any other information needed to reproduce the bug: your input, what you expected, what you got, and why it is wrong.  Diffs are welcome, but please include a description of the problem as well, since this is sometimes difficult to infer. See {\uldb Bugs}{\v Bugs @gcc.hlp}.\par
\par
\pard{}{K{\footnote K history}}{K{\footnote K MacKenzie, David}}{K{\footnote K Meyering, Jim}}{K{\footnote K Pinard, Franc,ois}}{K{\footnote K Berry, Karl}}{K{\footnote K Stallman, Richard}}This manual is based on the Unix man pages in the distribution, which were originally written by David MacKenzie and updated by Jim Meyering.  Franc,ois Pinard did the initial conversion to Texinfo format.  Karl Berry did the indexing, some reorganization, and editing of the results.  Richard Stallman contributed his usual invaluable insights to the overall process.\par
\par
\page\pard Node: {\b Common options}, \keepn Next: {\uldb Date input formats}{\v Date_input_formats}, Prev: {\uldb Introduction}{\v Introduction}, Up: {\uldb Top}{\v Top}\line
K{\footnote K Common options}
#{\footnote Common_options}
${\footnote \pard{}Common options}\par
\pard{\fs24\b Common options}\par
\par
\pard{}{K{\footnote K common options}} Certain options are available in all these programs.  Rather than writing identical descriptions for each of the programs, they are described here.  (In fact, every GNU program accepts (or should accept) these options.)\par
\par
\pard{}Many of these programs take arbitrary strings as arguments.  In those cases, {\f1{}--help} and {\f1{}--version} are taken as these options only if there is one and exactly one command line argument.\par
\par
{\pard{}{\f1{}--help}\par
\pard\li720{}{K{\footnote K -help}}{K{\footnote K help, online}}Print a usage message listing all available options, then exit successfully.\par
\par
\pard{}{\f1{}--version}\par
\pard\li720{}{K{\footnote K -version}}{K{\footnote K version number, finding}}Print the version number, then exit successfully.\par
\par
\pard{}}\par
\page\pard Node: {\b Date input formats}, \keepn Next: {\uldb Printing text}{\v Printing_text}, Prev: {\uldb Common options}{\v Common_options}, Up: {\uldb Top}{\v Top}\line
K{\footnote K Date input formats}
#{\footnote Date_input_formats}
${\footnote \pard{}Date input formats}\par
\pard{\fs24\b Date input formats}\par
\par
\pard{}{K{\footnote K date input formats}}{K{\footnote K getdate}} {\par
\pard\li720{}Our units of temporal measurement, from seconds on up to months, are so complicated, asymmetrical and disjunctive so as to make coherent mental reckoning in time all but impossible.  Indeed, had some tyrannical god contrived to enslave our minds to time, to make it all but impossible for us to escape subjection to sodden routines and unpleasant surprises, he could hardly have done better than handing down our present system.  It is like a set of trapezoidal building blocks, with no vertical or horizontal surfaces, like a language in which the simplest thought demands ornate constructions, useless particles and lengthy circumlocutions.  Unlike the more successful patterns of language and science, which enable us to face experience boldly or at least level-headedly, our system of temporal calculation silently and persistently encourages our terror of time.\par
\par
\pard\li720{}...  It is as though architects had to measure length in feet, width in meters and height in ells; as though basic instruction manuals demanded a knowledge of five different languages.  It is no wonder then that we often look into our own immediate past or future, last Tuesday or a week from Sunday, with feelings of helpless confusion.  ...\par
\par
\pard\li720{}-- Robert Grudin, {\i Time and the Art of Living}.\par
\pard{}}\par
\pard{}This section describes the textual date representations that GNU programs accept.  These are the strings you, as a user, can supply as arguments to the various programs.  The C interface (via the {\f1{}getdate} function) is not described here.\par
\par
\pard{}{K{\footnote K beginning of time, for Unix}}{K{\footnote K epoch, for Unix}}Although the date syntax here can represent any possible time since zero A.D., computer integers are not big enough for such a (comparatively) long time.  The earliest date semantically allowed on Unix systems is midnight, 1 January 1970 UCT.\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb General date syntax}{\v General_date_syntax}\tab Common rules.\par
{\uldb Calendar date item}{\v Calendar_date_item}\tab 19 Dec 1994.\par
{\uldb Time of day item}{\v Time_of_day_item}\tab 9:20pm.\par
{\uldb Timezone item}{\v Timezone_item}\tab EST, DST, BST, UCT, AHST, ...\par
{\uldb Day of week item}{\v Day_of_week_item}\tab Monday and others.\par
{\uldb Relative item in date strings}{\v Relative_item_in_date_strings}\tab next tuesday, 2 years ago.\par
{\uldb Pure numbers in date strings}{\v Pure_numbers_in_date_strings}\tab 19931219, 1440.\par
{\uldb Authors of getdate}{\v Authors_of_getdate}\tab Bellovin, Salz, Berets, et al.\par
\pard{}}\par
\page\pard Node: {\b General date syntax}, \keepn Next: {\uldb Calendar date item}{\v Calendar_date_item}, Prev: {\uldb }{\v }, Up: {\uldb Date input formats}{\v Date_input_formats}\line
K{\footnote K General date syntax}
#{\footnote General_date_syntax}
${\footnote \pard{}General date syntax}\par
\pard{\fs24\b General date syntax}\par
\par
\pard{}{K{\footnote K general date syntax}} {K{\footnote K items in date strings}}A \'A2date\'A2 is a string, possibly empty, containing many items separated by whitespace.  The whitespace may be omitted when no ambiguity arises.  The empty string means the beginning of today (i.e., midnight).  Order of the items is immaterial.  A date string may contain many flavors of items:\par
\par
{\pard\fi-720\li720\tx144\tx720{}\tab{}{\f2\'B7}\tab{}calendar date items\par
\par
\pard\fi-720\li720\tx144\tx720{}\tab{}{\f2\'B7}\tab{}time of the day items\par
\par
\pard\fi-720\li720\tx144\tx720{}\tab{}{\f2\'B7}\tab{}time zone items\par
\par
\pard\fi-720\li720\tx144\tx720{}\tab{}{\f2\'B7}\tab{}day of the week items\par
\par
\pard\fi-720\li720\tx144\tx720{}\tab{}{\f2\'B7}\tab{}relative items\par
\par
\pard\fi-720\li720\tx144\tx720{}\tab{}{\f2\'B7}\tab{}pure numbers.\par
\pard{}}\par
\pard{}We describe each of these item types in turn, below.\par
\par
\pard{}{K{\footnote K numbers, written-out}}{K{\footnote K ordinal numbers}}{K{\footnote K first in date strings}}{K{\footnote K next in date strings}}{K{\footnote K last in date strings}}A few numbers may be written out in words in most contexts.  This is most useful for specifying day of the week items or relative items (see below).  Here is the list: {\f1{}first} for 1, {\f1{}next} for 2, {\f1{}third} for 3, {\f1{}fourth} for 4, {\f1{}fifth} for 5, {\f1{}sixth} for 6, {\f1{}seventh} for 7, {\f1{}eighth} for 8, {\f1{}ninth} for 9, {\f1{}tenth} for 10, {\f1{}eleventh} for 11 and {\f1{}twelfth} for 12.  Also, {\f1{}last} means exactly -1.\par
\par
\pard{}{K{\footnote K months, written-out}}When a month is written this way, it is still considered to be written numerically, instead of being "spelled in full"; this changes the allowed strings.\par
\par
\pard{}{K{\footnote K case, ignored in dates}}{K{\footnote K comments, in dates}}Alphabetic case is completely ignored in dates.  Comments may be introduced between round parentheses, as long as included parentheses are properly nested.  Hyphens not followed by a digit are currently ignored.  Leading zeros on numbers are ignored.\par
\par
\page\pard Node: {\b Calendar date item}, \keepn Next: {\uldb Time of day item}{\v Time_of_day_item}, Prev: {\uldb General date syntax}{\v General_date_syntax}, Up: {\uldb Date input formats}{\v Date_input_formats}\line
K{\footnote K Calendar date item}
#{\footnote Calendar_date_item}
${\footnote \pard{}Calendar date item}\par
\pard{\fs24\b Calendar date item}\par
\par
\pard{}{K{\footnote K calendar date item}} A \'A2calendar date item\'A2 specifies a day of the year.  It is specified differently, depending on whether the month is specified numerically or literally.  All these strings specify the same calendar date:\par
\par
{\pard\keep\li720\f1{}1970-09-17           # ISO 8601.\line
70-9-17              # This century assumed by default.\line
70-09-17             # Leading zeros are ignored.\line
9/17/72              # Common U.S. writing.\line
24 September 1972\line
24 Sept 72           # September has a special abbreviation.\line
24 Sep 72            # Three-letter abbreviations always allowed.\line
Sep 24, 1972\line
24-sep-72\line
24sep72\par
\pard\f0{}}\par
\pard{}The year can also be omitted.  In this case, the last specified year is used, or the current year if none.  For example:\par
\par
{\pard\keep\li720\f1{}9/17\line
sep 17\par
\pard\f0{}}\par
\pard{}Here are the rules.\par
\par
\pard{}{K{\footnote K ISO 8601 date format}}{K{\footnote K date format, ISO 8601}}For numeric months, the ISO 8601 format {\f1{}{\i year}-{\i month}-{\i day}} is allowed, where {\i year} is any positive number, {\i month} is a number between 01 and 12, and {\i day} is a number between 01 and 31.  A leading zero must be present if a number is less than ten.  If {\i year} is less than 100, then 1900 is added to it to force a date in this century.  The construct {\f1{}{\i month}/{\i day}/{\i year}}, popular in the United States, is accepted.  Also {\f1{}{\i month}/{\i day}}, omitting the year.\par
\par
\pard{}{K{\footnote K month names in date strings}}{K{\footnote K abbreviations for months}}Literal months may be spelled out in full: {\f1{}January}, {\f1{}February}, {\f1{}March}, {\f1{}April}, {\f1{}May}, {\f1{}June}, {\f1{}July}, {\f1{}August}, {\f1{}September}, {\f1{}October}, {\f1{}November} or {\f1{}December}.  Literal months may be abbreviated to their first three letters, possibly followed by an abbreviating dot.  It is also permitted to write {\f1{}Sept} instead of {\f1{}September}.\par
\par
\pard{}When months are written literally, the calendar date may be given as any of the following:\par
\par
{{\i \pard\li720\f1{}day} {\i month} {\i year}\line
{\i day} {\i month}\line
{\i month} {\i day} {\i year}\line
{\i day}-{\i month}-{\i year}\par
\pard\f0{}}\par
\pard{}Or, omitting the year:\par
\par
{{\i \pard\li720\f1{}month} {\i day}\par
\pard\f0{}}\par
\page\pard Node: {\b Time of day item}, \keepn Next: {\uldb Timezone item}{\v Timezone_item}, Prev: {\uldb Calendar date item}{\v Calendar_date_item}, Up: {\uldb Date input formats}{\v Date_input_formats}\line
K{\footnote K Time of day item}
#{\footnote Time_of_day_item}
${\footnote \pard{}Time of day item}\par
\pard{\fs24\b Time of day item}\par
\par
\pard{}{K{\footnote K time of day item}} A \'A2time of day item\'A2 in date strings specifies the time on a given day.  Here are some examples, all of which represent the same time:\par
\par
{\pard\keep\li720\f1{}20:02:0\line
20:02\line
8:02pm\line
20:02-0500      # In EST (Eastern U.S. Standard Time).\par
\pard\f0{}}\par
\pard{}More generally, the time of the day may be given as {\f1{}{\i hour}:{\i minute}:{\i second}}, where {\i hour} is a number between 0 and 23, {\i minute} is a number between 0 and 59, and {\i second} is a number between 0 and 59.  Alternatively, {\f1{}:{\i second}} can be omitted, in which case it is taken to be zero.\par
\par
\pard{}{K{\footnote K am in date strings}}{K{\footnote K pm in date strings}}{K{\footnote K midnight in date strings}}{K{\footnote K noon in date strings}}If the time is followed by {\f1{}am} or {\f1{}pm} (or {\f1{}a.m.} or {\f1{}p.m.}), {\i hour} is restricted to run from 1 to 12, and {\f1{}:{\i minute}} may be omitted (taken to be zero).  {\f1{}am} indicates the first half of the day, {\f1{}pm} indicates the second half of the day.  In this notation, 12 is the predecessor of 1: midnight is {\f1{}12am} while noon is {\f1{}12pm}.\par
\par
\pard{}{K{\footnote K timezone correction}}{K{\footnote K minutes, timezone correction by}}The time may alternatively be followed by a timezone correction, expressed as {\f1{}{\i s}{\i hh}{\i mm}}, where {\i s} is {\f1{}+} or {\f1{}-}, {\i hh} is a number of zone hours and {\i mm} is a number of zone minutes.  When a timezone correction is given this way, it forces interpretation of the time in UTC, overriding any previous specification for the timezone or the local timezone.  The {\i minute} part of the time of the day may not be elided when a timezone correction is used.  This is the only way to specify a timezone correction by fractional parts of an hour.\par
\par
\pard{}Either {\f1{}am}/{\f1{}pm} or a timezone correction may be specified, but not both.\par
\par
\page\pard Node: {\b Timezone item}, \keepn Next: {\uldb Day of week item}{\v Day_of_week_item}, Prev: {\uldb Time of day item}{\v Time_of_day_item}, Up: {\uldb Date input formats}{\v Date_input_formats}\line
K{\footnote K Timezone item}
#{\footnote Timezone_item}
${\footnote \pard{}Timezone item}\par
\pard{\fs24\b Timezone item}\par
\par
\pard{}{K{\footnote K timezone item}} A \'A2timezone item\'A2 specifies an international timezone, indicated by a small set of letters.  Any included period is ignored.  Military timezone designations use a single letter.  Currently, only integral zone hours may be represented in a timezone item.  See the previous section for a finer control over the timezone correction.\par
\par
\pard{}Here are many non-daylight-savings-time timezones, indexed by the zone hour value.\par
\par
{\pard{}+000\par
\pard\li720{}{K{\footnote K Greenwich Mean Time}}{K{\footnote K Universal Coordinated Time}}{K{\footnote K Western European Time}}{\f1{}GMT} for Greenwich Mean, {\f1{}UT} or {\f1{}UTC} for Universal (Coordinated), {\f1{}WET} for Western European and {\f1{}Z} for militaries.\par
\par
\pard{}+100\par
\pard\li720{}{K{\footnote K West African Time}}{\f1{}WAT} for West Africa and {\f1{}A} for militaries.\par
\par
\pard{}+200\par
\pard\li720{}{K{\footnote K Azores Time}}{\f1{}AT} for Azores and {\f1{}B} for militaries.\par
\par
\pard{}+300\par
{\f1{}\pard\li720{}C} for militaries.\par
\par
\pard{}+400\par
\pard\li720{}{K{\footnote K Atlantic Standard Time}}{\f1{}AST} for Atlantic Standard and {\f1{}D} for militaries.\par
\par
\pard{}+500\par
\pard\li720{}{K{\footnote K Eastern Standard Time}}{\f1{}E} for militaries and {\f1{}EST} for Eastern Standard.\par
\par
\pard{}+600\par
\pard\li720{}{K{\footnote K Central Standard Time}}{\f1{}CST} for Central Standard and {\f1{}F} for militaries.\par
\par
\pard{}+700\par
\pard\li720{}{K{\footnote K Mountain Standard Time}}{\f1{}G} for militaries and {\f1{}MST} for Mountain Standard.\par
\par
\pard{}+800\par
\pard\li720{}{K{\footnote K Pacific Standard Time}}{\f1{}H} for militaries and {\f1{}PST} for Pacific Standard.\par
\par
\pard{}+900\par
\pard\li720{}{K{\footnote K Yukon Standard Time}}{\f1{}I} for militaries and {\f1{}YST} for Yukon Standard.\par
\par
\pard{}+1000\par
\pard\li720{}{K{\footnote K Alaska-Hawaii Time}}{K{\footnote K Central Alaska Time}}{K{\footnote K Hawaii Standard Time}}{\f1{}AHST} for Alaska-Hawaii Standard, {\f1{}CAT} for Central Alaska, {\f1{}HST} for Hawaii Standard and {\f1{}K} for militaries.\par
\par
\pard{}+1100\par
\pard\li720{}{K{\footnote K Nome Standard Time}}{\f1{}L} for militaries and {\f1{}NT} for Nome.\par
\par
\pard{}+1200\par
\pard\li720{}{K{\footnote K International Date Line West}}{\f1{}IDLW} for International Date Line West and {\f1{}M} for militaries.\par
\par
\pard{}-100\par
\pard\li720{}{K{\footnote K Central European Time}}{K{\footnote K Middle European Time}}{K{\footnote K Middle European Winter Time}}{K{\footnote K French Winter Time}}{K{\footnote K Swedish Winter Time}}{\f1{}CET} for Central European, {\f1{}FWT} for French Winter, {\f1{}MET} for Middle European, {\f1{}MEWT} for Middle European Winter, {\f1{}N} for militaries and {\f1{}SWT} for Swedish Winter.\par
\par
\pard{}-200\par
\pard\li720{}{K{\footnote K Eastern European Time}}{K{\footnote K USSR Zone}}{\f1{}EET} for Eastern European, USSR Zone 1 and {\f1{}O} for militaries.\par
\par
\pard{}-300\par
\pard\li720{}{K{\footnote K Baghdad Time}}{\f1{}BT} for Baghdad, USSR Zone 2 and {\f1{}P} for militaries.\par
\par
\pard{}-400\par
{\f1{}\pard\li720{}Q} for militaries and {\f1{}ZP4} for USSR Zone 3.\par
\par
\pard{}-500\par
{\f1{}\pard\li720{}R} for militaries and {\f1{}ZP5} for USSR Zone 4.\par
\par
\pard{}-600\par
{\f1{}\pard\li720{}S} for militaries and {\f1{}ZP6} for USSR Zone 5.\par
\par
\pard{}-700\par
\pard\li720{}{K{\footnote K West Australian Standard Time}}{\f1{}T} for militaries and {\f1{}WAST} for West Australian Standard.\par
\par
\pard{}-800\par
\pard\li720{}{K{\footnote K China Coast Time}}{\f1{}CCT} for China Coast, USSR Zone 7 and {\f1{}U} for militaries.\par
\par
\pard{}-900\par
\pard\li720{}{K{\footnote K Japan Standard Time}}{\f1{}JST} for Japan Standard, USSR Zone 8 and {\f1{}V} for militaries.\par
\par
\pard{}-1000\par
\pard\li720{}{K{\footnote K East Australian Standard Time}}{K{\footnote K Guam Standard Time}}{\f1{}EAST} for East Australian Standard, {\f1{}GST} for Guam Standard, USSR Zone 9 and {\f1{}W} for militaries.\par
\par
\pard{}-1100\par
{\f1{}\pard\li720{}X} for militaries.\par
\par
\pard{}-1200\par
\pard\li720{}{K{\footnote K International Date Line East}}{K{\footnote K New Zealand Standard Time}}{\f1{}IDLE} for International Date Line East, {\f1{}NZST} for New Zealand Standard, {\f1{}NZT} for New Zealand and {\f1{}Y} for militaries.\par
\pard{}}\par
\pard{}{K{\footnote K daylight savings time}}Here are many DST timezones, indexed by the zone hour value.  Also, by following a non-DST timezone by the string {\f1{}DST} in a separate word (that is, separated by some whitespace), the corresponding DST timezone may be specified.\par
\par
{\pard{}0\par
{\f1{}\pard\li720{}BST} for British Summer.\par
\par
\pard{}+400\par
{\f1{}\pard\li720{}ADT} for Atlantic Daylight.\par
\par
\pard{}+500\par
{\f1{}\pard\li720{}EDT} for Eastern Daylight.\par
\par
\pard{}+600\par
{\f1{}\pard\li720{}CDT} for Central Daylight.\par
\par
\pard{}+700\par
{\f1{}\pard\li720{}MDT} for Mountain Daylight.\par
\par
\pard{}+800\par
{\f1{}\pard\li720{}PDT} for Pacific Daylight.\par
\par
\pard{}+900\par
{\f1{}\pard\li720{}YDT} for Yukon Daylight.\par
\par
\pard{}+1000\par
{\f1{}\pard\li720{}HDT} for Hawaii Daylight.\par
\par
\pard{}-100\par
{\f1{}\pard\li720{}MEST} for Middle European Summer, {\f1{}MESZ} for Middle European Summer, {\f1{}SST} for Swedish Summer and {\f1{}FST} for French Summer.\par
\par
\pard{}-700\par
{\f1{}\pard\li720{}WADT} for West Australian Daylight.\par
\par
\pard{}-1000\par
{\f1{}\pard\li720{}EADT} for Eastern Australian Daylight.\par
\par
\pard{}-1200\par
{\f1{}\pard\li720{}NZDT} for New Zealand Daylight.\par
\pard{}}\par
\page\pard Node: {\b Day of week item}, \keepn Next: {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}, Prev: {\uldb Timezone item}{\v Timezone_item}, Up: {\uldb Date input formats}{\v Date_input_formats}\line
K{\footnote K Day of week item}
#{\footnote Day_of_week_item}
${\footnote \pard{}Day of week item}\par
\pard{\fs24\b Day of week item}\par
\par
\pard{}{K{\footnote K day of week item}} The explicit mention of a day of the week will forward the date (only if necessary) to reach that day of the week in the future.\par
\par
\pard{}Days of the week may be spelled out in full: {\f1{}Sunday}, {\f1{}Monday}, {\f1{}Tuesday}, {\f1{}Wednesday}, {\f1{}Thursday}, {\f1{}Friday} or {\f1{}Saturday}.  Days may be abbreviated to their first three letters, optionally followed by a period.  The special abbreviations {\f1{}Tues} for {\f1{}Tuesday}, {\f1{}Wednes} for {\f1{}Wednesday} and {\f1{}Thur} or {\f1{}Thurs} for {\f1{}Thursday} are also allowed.\par
\par
\pard{}{K{\footnote K next {\i day}}}{K{\footnote K last {\i day}}}A number may precede a day of the week item to move forward supplementary weeks.  It is best used in expression like {\f1{}third monday}.  In this context, {\f1{}last {\i day}} or {\f1{}next {\i day}} is also acceptable; they move one week before or after the day that {\i day} by itself would represent.\par
\par
\pard{}A comma following a day of the week item is ignored.\par
\par
\page\pard Node: {\b Relative item in date strings}, \keepn Next: {\uldb Pure numbers in date strings}{\v Pure_numbers_in_date_strings}, Prev: {\uldb Day of week item}{\v Day_of_week_item}, Up: {\uldb Date input formats}{\v Date_input_formats}\line
K{\footnote K Relative item in date strings}
#{\footnote Relative_item_in_date_strings}
${\footnote \pard{}Relative item in date strings}\par
\pard{\fs24\b Relative item in date strings}\par
\par
\pard{}{K{\footnote K relative items in date strings}}{K{\footnote K displacement of dates}} \'A2Relative items\'A2 adjust a date (or the current date if none) forward or backward.  The effects of relative items accumulate.  Here are some examples:\par
\par
{\pard\keep\li720\f1{}1 year\line
1 year ago\line
3 years\line
2 days\par
\pard\f0{}}\par
\pard{}{K{\footnote K year in date strings}}{K{\footnote K month in date strings}}{K{\footnote K fortnight in date strings}}{K{\footnote K week in date strings}}{K{\footnote K day in date strings}}{K{\footnote K hour in date strings}}{K{\footnote K minute in date strings}}The unit of time displacement may be selected by the string {\f1{}year} or {\f1{}month} for moving by whole years or months.  These are fuzzy units, as years and months are not all of equal duration.  More precise units are {\f1{}fortnight} which is worth 14 days, {\f1{}week} worth 7 days, {\f1{}day} worth 24 hours, {\f1{}hour} worth 60 minutes, {\f1{}minute} or {\f1{}min} worth 60 seconds, and {\f1{}second} or {\f1{}sec} worth one second.  An {\f1{}s} suffix on these units is accepted and ignored.\par
\par
\pard{}{K{\footnote K ago in date strings}}The unit of time may be preceded by a multiplier, given as an optionally signed number.  Unsigned numbers are taken as positively signed.  No number at all implies 1 for a multiplier.  Following a relative item by the string {\f1{}ago} is equivalent to preceding the unit by a multiplicator with value -1.\par
\par
\pard{}{K{\footnote K day in date strings}}{K{\footnote K tomorrow in date strings}}{K{\footnote K yesterday in date strings}}The string {\f1{}tomorrow} is worth one day in the future (equivalent to {\f1{}day}), the string {\f1{}yesterday} is worth one day in the past (equivalent to {\f1{}day ago}).\par
\par
\pard{}{K{\footnote K now in date strings}}{K{\footnote K today in date strings}}{K{\footnote K this in date strings}}The strings {\f1{}now} or {\f1{}today} are relative items corresponding to zero-valued time displacement, these strings come from the fact a zero-valued time displacement represents the current time when not otherwise change by previous items.  They may be used to stress other items, like in {\f1{}12:00 today}.  The string {\f1{}this} also has the meaning of a zero-valued time displacement, but is preferred in date strings like {\f1{}this thursday}.\par
\par
\pard{}When a relative item makes the resulting date to cross the boundary between DST and non-DST (or vice-versa), the hour is adjusted according to the local time.\par
\par
\page\pard Node: {\b Pure numbers in date strings}, \keepn Next: {\uldb Authors of getdate}{\v Authors_of_getdate}, Prev: {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}, Up: {\uldb Date input formats}{\v Date_input_formats}\line
K{\footnote K Pure numbers in date strings}
#{\footnote Pure_numbers_in_date_strings}
${\footnote \pard{}Pure numbers in date strings}\par
\pard{\fs24\b Pure numbers in date strings}\par
\par
\pard{}{K{\footnote K pure numbers in date strings}} The precise intepretation of a pure decimal number is dependent of the context in the date string.\par
\par
\pard{}If the decimal number is of the form {\i yyyy}{\i mm}{\i dd} and no other calendar date item (see {\uldb Calendar date item}{\v Calendar_date_item}) appears before it in the date string, then {\i yyyy} is read as the year, {\i mm} as the month number and {\i dd} as the day of the month, for the specified calendar date.\par
\par
\pard{}If the decimal number is of the form {\i hh}{\i mm} and no other time of day item appears before it in the date string, then {\i hh} is read as the hour of the day and {\i mm} as the minute of the hour, for the specified time of the day.  {\i mm} can also be omitted.\par
\par
\pard{}If both a calendar date and a time of day appear to the left of a number in the date string, but no relative item, then the number overrides the year.\par
\par
\page\pard Node: {\b Authors of getdate}, \keepn Next: {\uldb }{\v }, Prev: {\uldb Pure numbers in date strings}{\v Pure_numbers_in_date_strings}, Up: {\uldb Date input formats}{\v Date_input_formats}\line
K{\footnote K Authors of getdate}
#{\footnote Authors_of_getdate}
${\footnote \pard{}Authors of {\f1{}getdate}}\par
\pard{\fs24\b Authors of {\f1{}getdate}}\par
\par
\pard{}{K{\footnote K authors of {\f1{}getdate}}} {K{\footnote K Bellovin, Steven M.}}{K{\footnote K Salz, Rich}}{K{\footnote K Berets, Jim}}{K{\footnote K MacKenzie, David}}{K{\footnote K Meyering, Jim}}{\f1{}getdate} was originally implemented by Steven M. Bellovin ({\f1{}smb@research.att.com}) while at the University of North Carolina at Chapel Hill.  The code was later tweaked by a couple of people on Usenet, then completely overhauled by Rich $alz ({\f1{}rsalz@bbn.com}) and Jim Berets ({\f1{}jberets@bbn.com}) in August, 1990.  Various revisions for the GNU system were made by David MacKenzie, Jim Meyering, and others.\par
\par
\pard{}{K{\footnote K Pinard, F.}}{K{\footnote K Berry, K.}}This chapter was originally produced by Franc,ois Pinard ({\f1{}pinard@iro.umontreal.ca}) from the {\f1{}getdate.y} source code, and then edited by K. Berry ({\f1{}kb@cs.umb.edu}).\par
\par
\page\pard Node: {\b Printing text}, \keepn Next: {\uldb Conditions}{\v Conditions}, Prev: {\uldb Date input formats}{\v Date_input_formats}, Up: {\uldb Top}{\v Top}\line
K{\footnote K Printing text}
#{\footnote Printing_text}
${\footnote \pard{}Printing text}\par
\pard{\fs24\b Printing text}\par
\par
\pard{}{K{\footnote K printing text, commands for}}{K{\footnote K commands for printing text}} This section describes commands that display text strings.\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb echo invocation}{\v echo_invocation}\tab Print a line of text.\par
{\uldb printf invocation}{\v printf_invocation}\tab Format and print data.\par
{\uldb yes invocation}{\v yes_invocation}\tab Print a string until interrupted.\par
\pard{}}\par
\page\pard Node: {\b echo invocation}, \keepn Next: {\uldb printf invocation}{\v printf_invocation}, Prev: {\uldb }{\v }, Up: {\uldb Printing text}{\v Printing_text}\line
K{\footnote K echo invocation}
#{\footnote echo_invocation}
${\footnote {\f1{}\pard{}echo}: Print a line of text}\par
\pard{\fs24\b {\f1{}echo}: Print a line of text}\par
\par
\pard{}{K{\footnote K echo}}{K{\footnote K displaying text}}{K{\footnote K printing text}}{K{\footnote K text, displaying}}{K{\footnote K arbitrary text, displaying}} {\f1{}echo} writes each given {\i string} to standard output, with a space between each and a newline after the last one.  Synopsis:\par
\par
{\pard\keep\li720\f1{}echo [{\i option}]... [{\i string}]...\par
\pard\f0{}}\par
\pard{}The program accepts the following options.  Also see {\uldb Common options}{\v Common_options}.\par
\par
{\pard{}{\f1{}-n}\par
\pard\li720{}{K{\footnote K -n}}Do not output the trailing newline.\par
\par
\pard{}{\f1{}-e}\par
\pard\li720{}{K{\footnote K -e}}{K{\footnote K backslash escapes}}Enable interpretation of the following backslash-escaped characters in each {\i string}:\par
\par
{\pard\li720{}{\f1{}\'5Ca}\par
\pard\li1440{}alert (bell)\par
\par
\pard\li720{}{\f1{}\'5Cb}\par
\pard\li1440{}backspace\par
\par
\pard\li720{}{\f1{}\'5Cc}\par
\pard\li1440{}suppress trailing newline\par
\par
\pard\li720{}{\f1{}\'5Cf}\par
\pard\li1440{}form feed\par
\par
\pard\li720{}{\f1{}\'5Cn}\par
\pard\li1440{}new line\par
\par
\pard\li720{}{\f1{}\'5Cr}\par
\pard\li1440{}carriage return\par
\par
\pard\li720{}{\f1{}\'5Ct}\par
\pard\li1440{}horizontal tab\par
\par
\pard\li720{}{\f1{}\'5Cv}\par
\pard\li1440{}vertical tab\par
\par
\pard\li720{}{\f1{}\'5C\'5C}\par
\pard\li1440{}backslash\par
\par
\pard\li720{}{\f1{}\'5C{\i nnn}}\par
\pard\li1440{}the character whose ASCII code is {\i nnn} (octal); if {\i nnn} is not a valid octal number, it is printed literally.\par
\pard\li720{}}\par
\pard{}}\par
\page\pard Node: {\b printf invocation}, \keepn Next: {\uldb yes invocation}{\v yes_invocation}, Prev: {\uldb echo invocation}{\v echo_invocation}, Up: {\uldb Printing text}{\v Printing_text}\line
K{\footnote K printf invocation}
#{\footnote printf_invocation}
${\footnote {\f1{}\pard{}printf}: Format and print data}\par
\pard{\fs24\b {\f1{}printf}: Format and print data}\par
\par
\pard{}{K{\footnote K printf}}{\f1{}printf} does formatted printing of text. Synopsis:\par
\par
{\pard\keep\li720\f1{}printf {\i format} [{\i argument}]...\par
\pard\f0{}}\par
{\f1{}\pard{}printf} prints the {\i format} string, interpreting {\f1{}%} directives and {\f1{}\'5C} escapes in the same way as the C {\f1{}printf} function.  The {\i format} argument is re-used as necessary to convert all of the given {\i argument}s.\par
\par
{\f1{}\pard{}printf} has one additional directive, {\f1{}%b}, which prints its argument string with {\f1{}\'5C} escapes interpreted in the same way as in the {\i format} string.\par
\par
\pard{}{K{\footnote K \'5C0ooo}}{K{\footnote K \'5C0xhhh}}{\f1{}printf} interprets {\f1{}\'5C0ooo} in {\i format} as an octal number (if {\i ooo} is 0 to 3 octal digits) specifying a character to print, and {\f1{}\'5Cxhhh} as a hexadecimal number (if {\i hhh} is 1 to 3 hex digits) specifying a character to print.\par
\par
\pard{}{K{\footnote K \'5Cc}}An additional escape, {\f1{}\'5Cc}, causes {\f1{}printf} to produce no further output.\par
\par
\pard{}The only options are a lone {\f1{}--help} or {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\page\pard Node: {\b yes invocation}, \keepn Next: {\uldb }{\v }, Prev: {\uldb printf invocation}{\v printf_invocation}, Up: {\uldb Printing text}{\v Printing_text}\line
K{\footnote K yes invocation}
#{\footnote yes_invocation}
${\footnote {\f1{}\pard{}yes}: Print a string until interrupted}\par
\pard{\fs24\b {\f1{}yes}: Print a string until interrupted}\par
\par
\pard{}{K{\footnote K yes}}{K{\footnote K repeated output of a string}} {\f1{}yes} prints the command line arguments, separated by spaces and followed by a newline, forever until it is killed.  If no arguments are given, it prints {\f1{}y} followed by a newline forever until killed.\par
\par
\pard{}The only options are a lone {\f1{}--help} or {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\page\pard Node: {\b Conditions}, \keepn Next: {\uldb Redirection}{\v Redirection}, Prev: {\uldb Printing text}{\v Printing_text}, Up: {\uldb Top}{\v Top}\line
K{\footnote K Conditions}
#{\footnote Conditions}
${\footnote \pard{}Conditions}\par
\pard{\fs24\b Conditions}\par
\par
\pard{}{K{\footnote K conditions}}{K{\footnote K commands for exit status}}{K{\footnote K exit status commands}} This section describes commands that are primarily useful for their exit status, rather than their output.  Thus, they are often used as the condition of shell {\f1{}if} statements, or as the last command in a pipeline.\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb false invocation}{\v false_invocation}\tab Do nothing, unsuccessfully.\par
{\uldb true invocation}{\v true_invocation}\tab Do nothing, successfully.\par
{\uldb test invocation}{\v test_invocation}\tab Check file types and compare values.\par
{\uldb expr invocation}{\v expr_invocation}\tab Evaluate expressions.\par
\pard{}}\par
\page\pard Node: {\b false invocation}, \keepn Next: {\uldb true invocation}{\v true_invocation}, Prev: {\uldb }{\v }, Up: {\uldb Conditions}{\v Conditions}\line
K{\footnote K false invocation}
#{\footnote false_invocation}
${\footnote {\f1{}\pard{}false}: Do nothing, unsuccessfully}\par
\pard{\fs24\b {\f1{}false}: Do nothing, unsuccessfully}\par
\par
\pard{}{K{\footnote K false}} {K{\footnote K exit status of {\f1{}true}}}{K{\footnote K failure exit status}}{\f1{}false} does nothing except return an exit status of 1, meaning \'A2failure\'A2.  It can be used as a place holder in shell scripts where an unsuccessful command is needed.\par
\par
\pard{}Any arguments are ignored, except for a lone {\f1{}--help} or {\f1{}--version} (see {\uldb Common options}{\v Common_options}).\par
\par
\page\pard Node: {\b true invocation}, \keepn Next: {\uldb test invocation}{\v test_invocation}, Prev: {\uldb false invocation}{\v false_invocation}, Up: {\uldb Conditions}{\v Conditions}\line
K{\footnote K true invocation}
#{\footnote true_invocation}
${\footnote {\f1{}\pard{}true}: Do nothing, successfully}\par
\pard{\fs24\b {\f1{}true}: Do nothing, successfully}\par
\par
\pard{}{K{\footnote K true}}{K{\footnote K do nothing, successfully}}{K{\footnote K no-op}}{K{\footnote K successful exit}} {K{\footnote K exit status of {\f1{}true}}}{\f1{}true} does nothing except return an exit status of 0, meaning \'A2success\'A2.  It can be used as a place holder in shell scripts where a successful command is needed, although the shell built-in command {\f1{}:} (colon) may be faster.\par
\par
\pard{}Any arguments are ignored, except for a lone {\f1{}--help} or {\f1{}--version} (see {\uldb Common options}{\v Common_options}).\par
\par
\page\pard Node: {\b test invocation}, \keepn Next: {\uldb expr invocation}{\v expr_invocation}, Prev: {\uldb true invocation}{\v true_invocation}, Up: {\uldb Conditions}{\v Conditions}\line
K{\footnote K test invocation}
#{\footnote test_invocation}
${\footnote {\f1{}\pard{}test}: Check file types and compare values}\par
\pard{\fs24\b {\f1{}test}: Check file types and compare values}\par
\par
\pard{}{K{\footnote K test}}{K{\footnote K check file types}}{K{\footnote K compare values}}{K{\footnote K expression evaluation}} {\f1{}test} returns a status of 0 (true) or 1 (false) depending on the evaluation of the conditional expression {\i expr}.  Each part of the expression must be a separate argument.\par
\par
{\f1{}\pard{}test} has file status checks, string operators, and numeric comparison operators.\par
\par
\pard{}{K{\footnote K conflicts with shell built-ins}}{K{\footnote K built-in shell commands, conflicts with}}Because most shells have a built-in command by the same name, using the unadorned command name in a script or interactively may get you different functionality than that described here.\par
\par
\pard{}Besides the options below, {\f1{}test} accepts a lone {\f1{}--help} or {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.  A single non-option argument is also allowed: {\f1{}test} returns true if the argument is not null.\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb File type tests}{\v File_type_tests}\tab -[bcdfhLpSt]\par
{\uldb Access permission tests}{\v Access_permission_tests}\tab -[gkruwxOG]\par
{\uldb File characteristics tests}{\v File_characteristics_tests}\tab -e -s -nt -ot -ef\par
{\uldb String tests}{\v String_tests}\tab -z -n = !=\par
{\uldb Numeric tests}{\v Numeric_tests}\tab -eq -ne -lt -le -gt -ge\par
{\uldb Connectives for test}{\v Connectives_for_test}\tab ! -a -o\par
\pard{}}\par
\page\pard Node: {\b File type tests}, \keepn Next: {\uldb Access permission tests}{\v Access_permission_tests}, Prev: {\uldb }{\v }, Up: {\uldb test invocation}{\v test_invocation}\line
K{\footnote K File type tests}
#{\footnote File_type_tests}
${\footnote \pard{}File type tests}\par
\pard{\fs24\b File type tests}\par
\par
\pard{}{K{\footnote K file type tests}} These options test for particular types of files.  (Everything's a file, but not all files are the same!)\par
\par
{\pard{}{\f1{}-b {\i file}}\par
\pard\li720{}{K{\footnote K -b}}{K{\footnote K block special check}}True if {\i file} exists and is a block special device.\par
\par
\pard{}{\f1{}-c {\i file}}\par
\pard\li720{}{K{\footnote K -c}}{K{\footnote K character special check}}True if {\i file} exists and is a character special device.\par
\par
\pard{}{\f1{}-d {\i file}}\par
\pard\li720{}{K{\footnote K -d}}{K{\footnote K directory check}}True if {\i file} exists and is a directory.\par
\par
\pard{}{\f1{}-f {\i file}}\par
\pard\li720{}{K{\footnote K -f}}{K{\footnote K regular file check}}True if {\i file} exists and is a regular file.\par
\par
\pard{}{\f1{}-h {\i file}}\par
\pard{}{\f1{}-L {\i file}}\par
\pard\li720{}{K{\footnote K -L}}{K{\footnote K -h}}{K{\footnote K symbolic link check}}True if {\i file} exists and is a symbolic link.\par
\par
\pard{}{\f1{}-p {\i file}}\par
\pard\li720{}{K{\footnote K -p}}{K{\footnote K named pipe check}}True if {\i file} exists and is a named pipe.\par
\par
\pard{}{\f1{}-S {\i file}}\par
\pard\li720{}{K{\footnote K -S}}{K{\footnote K socket check}}True if {\i file} exists and is a socket.\par
\par
\pard{}{\f1{}-t [{\i fd}]}\par
\pard\li720{}{K{\footnote K -t}}{K{\footnote K terminal check}}True if {\i fd} is opened on a terminal.  If {\i fd} is omitted, it defaults to 1 (standard output).\par
\par
\pard{}}\par
\page\pard Node: {\b Access permission tests}, \keepn Next: {\uldb File characteristics tests}{\v File_characteristics_tests}, Prev: {\uldb File type tests}{\v File_type_tests}, Up: {\uldb test invocation}{\v test_invocation}\line
K{\footnote K Access permission tests}
#{\footnote Access_permission_tests}
${\footnote \pard{}Access permission tests}\par
\pard{\fs24\b Access permission tests}\par
\par
\pard{}{K{\footnote K access permission tests}}{K{\footnote K permission tests}} These options test for particular access permissions.\par
\par
{\pard{}{\f1{}-g {\i file}}\par
\pard\li720{}{K{\footnote K -g}}{K{\footnote K set-group-id check}}True if {\i file} exists and has its set-group-id bit set.\par
\par
\pard{}{\f1{}-k {\i file}}\par
\pard\li720{}{K{\footnote K -k}}{K{\footnote K sticky bit check}}True if {\i file} has its \'A2sticky\'A2 bit set.\par
\par
\pard{}{\f1{}-r {\i file}}\par
\pard\li720{}{K{\footnote K -r}}{K{\footnote K readable file check}}True if {\i file} exists and is readable.\par
\par
\pard{}{\f1{}-u {\i file}}\par
\pard\li720{}{K{\footnote K -u}}{K{\footnote K set-user-id check}}True if {\i file} exists and has its set-user-id bit set.\par
\par
\pard{}{\f1{}-w {\i file}}\par
\pard\li720{}{K{\footnote K -w}}{K{\footnote K writable file check}}True if {\i file} exists and is writable.\par
\par
\pard{}{\f1{}-x {\i file}}\par
\pard\li720{}{K{\footnote K -x}}{K{\footnote K executable file check}}True if {\i file} exists and is executable.\par
\par
\pard{}{\f1{}-O {\i file}}\par
\pard\li720{}{K{\footnote K -O}}{K{\footnote K owned by effective uid check}}True if {\i file} exists and is owned by the current effective user id.\par
\par
\pard{}{\f1{}-G {\i file}}\par
\pard\li720{}{K{\footnote K -G}}{K{\footnote K owned by effective gid check}}True if {\i file} exists and is owned by the current effective group id.\par
\par
\pard{}}\par
\page\pard Node: {\b File characteristics tests}, \keepn Next: {\uldb String tests}{\v String_tests}, Prev: {\uldb Access permission tests}{\v Access_permission_tests}, Up: {\uldb test invocation}{\v test_invocation}\line
K{\footnote K File characteristics tests}
#{\footnote File_characteristics_tests}
${\footnote \pard{}File characteristics tests}\par
\pard{\fs24\b File characteristics tests}\par
\par
\pard{}{K{\footnote K file characteristics tests}} These options test other file characteristics.\par
\par
{\pard{}{\f1{}-e {\i file}}\par
\pard\li720{}{K{\footnote K -e}}{K{\footnote K existence-of-file check}}True if {\i file} exists.\par
\par
\pard{}{\f1{}-s {\i file}}\par
\pard\li720{}{K{\footnote K -s}}{K{\footnote K nonempty file check}}True if {\i file} exists and has a size greater than zero.\par
\par
\pard{}{\f1{}{\i file1} -nt {\i file2}}\par
\pard\li720{}{K{\footnote K -nt}}{K{\footnote K newer-than file check}}True if {\i file1} is newer (according to modification date) than {\i file2}.\par
\par
\pard{}{\f1{}{\i file1} -ot {\i file2}}\par
\pard\li720{}{K{\footnote K -ot}}{K{\footnote K older-than file check}}True if {\i file1} is older (according to modification date) than {\i file2}.\par
\par
\pard{}{\f1{}{\i file1} -ef {\i file2}}\par
\pard\li720{}{K{\footnote K -ef}}{K{\footnote K same file check}}{K{\footnote K hard link check}}True if {\i file1} and {\i file2} have the same device and inode numbers, i.e., if they are hard links to each other.\par
\par
\pard{}}\par
\page\pard Node: {\b String tests}, \keepn Next: {\uldb Numeric tests}{\v Numeric_tests}, Prev: {\uldb File characteristics tests}{\v File_characteristics_tests}, Up: {\uldb test invocation}{\v test_invocation}\line
K{\footnote K String tests}
#{\footnote String_tests}
${\footnote \pard{}String tests}\par
\pard{\fs24\b String tests}\par
\par
\pard{}{K{\footnote K string tests}} These options test string characteristics.  Strings are not quoted for {\f1{}test}, though you may need to quote them to protect characters with special meaning to the shell, e.g., spaces.\par
\par
{\pard{}{\f1{}-z {\i string}}\par
\pard\li720{}{K{\footnote K -z}}{K{\footnote K zero-length string check}}True if the length of {\i string} is zero.\par
\par
\pard{}{\f1{}-n {\i string}}\par
\pard{}{\f1{}{\i string}}\par
\pard\li720{}{K{\footnote K -n}}{K{\footnote K nonzero-length string check}}True if the length of {\i string} is nonzero.\par
\par
\pard{}{\f1{}{\i string1} = {\i string2}}\par
\pard\li720{}{K{\footnote K =}}{K{\footnote K equal string check}}True if the strings are equal.\par
\par
\pard{}{\f1{}{\i string1} != {\i string2}}\par
\pard\li720{}{K{\footnote K !=}}{K{\footnote K not-equal string check}}True if the strings are not equal.\par
\par
\pard{}}\par
\page\pard Node: {\b Numeric tests}, \keepn Next: {\uldb Connectives for test}{\v Connectives_for_test}, Prev: {\uldb String tests}{\v String_tests}, Up: {\uldb test invocation}{\v test_invocation}\line
K{\footnote K Numeric tests}
#{\footnote Numeric_tests}
${\footnote \pard{}Numeric tests}\par
\pard{\fs24\b Numeric tests}\par
\par
\pard{}{K{\footnote K numeric tests}}{K{\footnote K arithmetic tests}} Numeric relationals.  The arguments must be entirely numeric (possibly negative), or the special expression {\f1{}-l {\i string}}, which evaluates to the length of {\i string}.\par
\par
{\pard{}{\f1{}{\i arg1} -eq {\i arg2}}\par
\pard{}{\f1{}{\i arg1} -ne {\i arg2}}\par
\pard{}{\f1{}{\i arg1} -lt {\i arg2}}\par
\pard{}{\f1{}{\i arg1} -le {\i arg2}}\par
\pard{}{\f1{}{\i arg1} -gt {\i arg2}}\par
\pard{}{\f1{}{\i arg1} -ge {\i arg2}}\par
\pard\li720{}{K{\footnote K -eq}}{K{\footnote K -ne}}{K{\footnote K -lt}}{K{\footnote K -le}}{K{\footnote K -gt}}{K{\footnote K -ge}}These arithmetic binary operators return true if {\i arg1} is equal, not-equal, less-than, less-than-or-equal, greater-than, or greater-than-or-equal than {\i arg2}, respectively.\par
\par
\pard{}}\par
\pard{}For example:\par
\par
{\pard\keep\li720\f1{}test -1 -gt -2 && echo yes\line
=> yes\line
test -l abc -gt 1 && echo yes\line
=> yes\line
test 0x100 -eq 1\line
error--> test: integer expression expected before -eq\par
\pard\f0{}}\par
\page\pard Node: {\b Connectives for test}, \keepn Next: {\uldb }{\v }, Prev: {\uldb Numeric tests}{\v Numeric_tests}, Up: {\uldb test invocation}{\v test_invocation}\line
K{\footnote K Connectives for test}
#{\footnote Connectives_for_test}
${\footnote \pard{}Connectives for {\f1{}test}}\par
\pard{\fs24\b Connectives for {\f1{}test}}\par
\par
\pard{}{K{\footnote K logical connectives}}{K{\footnote K connectives, logical}} The usual logical connectives.\par
\par
{\pard{}{\f1{}! {\i expr}}\par
\pard\li720{}{K{\footnote K !}}True if {\i expr} is false.\par
\par
\pard{}{\f1{}{\i expr1} -a {\i expr2}}\par
\pard\li720{}{K{\footnote K -a}}{K{\footnote K logical and operator}}{K{\footnote K and operator}}True if both {\i expr1} and {\i expr2} are true.\par
\par
\pard{}{\f1{}{\i expr1} -o {\i expr2}}\par
\pard\li720{}{K{\footnote K -o}}{K{\footnote K logical or operator}}{K{\footnote K or operator}}True if either {\i expr1} or {\i expr2} is true.\par
\par
\pard{}}\par
\page\pard Node: {\b expr invocation}, \keepn Next: {\uldb }{\v }, Prev: {\uldb test invocation}{\v test_invocation}, Up: {\uldb Conditions}{\v Conditions}\line
K{\footnote K expr invocation}
#{\footnote expr_invocation}
${\footnote {\f1{}\pard{}expr}: Evaluate expressions}\par
\pard{\fs24\b {\f1{}expr}: Evaluate expressions}\par
\par
\pard{}{K{\footnote K expr}}{K{\footnote K expression evaluation}}{K{\footnote K evaluation of expressions}} {\f1{}expr} evaluates an expression and writes the result on standard output.  Each token of the expression must be a separate argument.\par
\par
\pard{}Operands are either numbers or strings.  {\f1{}expr} coerces anything appearing in an operand position to an integer or a string depending on the operation being applied to it.\par
\par
\pard{}Strings are not quoted for {\f1{}expr} itself, though you may need to quote them to protect characters with special meaning to the shell, e.g., spaces.\par
\par
\pard{}{K{\footnote K parentheses for grouping}}Operators may given as infix symbols or prefix keywords.  Parentheses may be used for grouping in the usual manner (you must quote parentheses to avoid the shell evaluating them, however).\par
\par
\pard{}{K{\footnote K exit status of {\f1{}expr}}}Exit status:\par
\par
{\pard\keep\li720\f1{}0 if the expression is neither null nor 0,\line
1 if the expression is null or 0,\line
2 for invalid expressions.\par
\pard\f0{}}\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb Relations for expr}{\v Relations_for_expr}\tab | & < <= = == != >= >\par
{\uldb Numeric expressions}{\v Numeric_expressions}\tab + - * / %\par
{\uldb String expressions}{\v String_expressions}\tab <colon> match substr index length\par
{\uldb Examples of expr}{\v Examples_of_expr}\tab Examples.\par
\pard{}}\par
\page\pard Node: {\b Relations for expr}, \keepn Next: {\uldb Numeric expressions}{\v Numeric_expressions}, Prev: {\uldb }{\v }, Up: {\uldb expr invocation}{\v expr_invocation}\line
K{\footnote K Relations for expr}
#{\footnote Relations_for_expr}
${\footnote \pard{}Relations for {\f1{}expr}}\par
\pard{\fs24\b Relations for {\f1{}expr}}\par
\par
\pard{}{K{\footnote K connectives, logical}}{K{\footnote K logical connectives}}{K{\footnote K relations, numeric or string}} The usual logical connectives and relations, in order of precedence.\par
\par
{\pard{}{\f1{}|}\par
\pard\li720{}{K{\footnote K |}}{K{\footnote K logical or operator}}{K{\footnote K or operator}}Yields its first argument if it is neither null nor 0, otherwise its second argument.\par
\par
\pard{}{\f1{}&}\par
\pard\li720{}{K{\footnote K &}}{K{\footnote K logical and operator}}{K{\footnote K and operator}}Yields its first argument if neither argument is null or 0, otherwise 0.\par
\par
\pard{}{\f1{}< <= = == != >= >}\par
\pard\li720{}{K{\footnote K <}}{K{\footnote K <=}}{K{\footnote K =}}{K{\footnote K ==}}{K{\footnote K >}}{K{\footnote K >=}}{K{\footnote K comparison operators}}Compare the arguments and return 1 if the relation is true, 0 otherwise.  {\f1{}==} is a synonym for {\f1{}=}.  {\f1{}expr} first tries to coerce both arguments to numbers and do a numeric comparison; if either coercion fails, it does a lexicographic comparison.\par
\par
\pard{}}\par
\page\pard Node: {\b Numeric expressions}, \keepn Next: {\uldb String expressions}{\v String_expressions}, Prev: {\uldb Relations for expr}{\v Relations_for_expr}, Up: {\uldb expr invocation}{\v expr_invocation}\line
K{\footnote K Numeric expressions}
#{\footnote Numeric_expressions}
${\footnote \pard{}Numeric expressions}\par
\pard{\fs24\b Numeric expressions}\par
\par
\pard{}{K{\footnote K numeric expressions}}{K{\footnote K expressions, numeric}} Numeric operators, in order of increasing precedence.  The connectives (previous section) have higher precedence, the string operators (following section) have lower.\par
\par
{\pard{}{\f1{}+ -}\par
\pard\li720{}{K{\footnote K +}}{K{\footnote K -}}{K{\footnote K addition}}{K{\footnote K subtraction}}Addition and subtraction.  Both arguments are coerced to numbers; an error occurs if this cannot be done.\par
\par
\pard{}{\f1{}* / %}\par
\pard\li720{}{K{\footnote K *}}{K{\footnote K /}}{K{\footnote K %}}{K{\footnote K multiplication}}{K{\footnote K division}}{K{\footnote K remainder}}Multiplication, division, remainder.  Both arguments are coerced to numbers; an error occurs if this cannot be done.\par
\par
\pard{}}\par
\page\pard Node: {\b String expressions}, \keepn Next: {\uldb Examples of expr}{\v Examples_of_expr}, Prev: {\uldb Numeric expressions}{\v Numeric_expressions}, Up: {\uldb expr invocation}{\v expr_invocation}\line
K{\footnote K String expressions}
#{\footnote String_expressions}
${\footnote \pard{}String expressions}\par
\pard{\fs24\b String expressions}\par
\par
\pard{}{K{\footnote K string expressions}}{K{\footnote K expressions, string}} String operators.  These have lowest precedence.\par
\par
{\pard{}{\f1{}{\i string} : {\i regex}}\par
\pard\li720{}{K{\footnote K pattern matching}}{K{\footnote K regular expression matching}}{K{\footnote K matching patterns}}Perform pattern matching.  The arguments are coerced to strings and the second is considered to be a (basic, a la {\f1{}grep}) regular expression, with a {\f1{}^} implicitly prepended.  The first argument is then matched against this regular expression.\par
\par
\pard\li720{}If the match succeeds and {\i regex} uses {\f1{}\'5C(} and {\f1{}\'5C)}, the {\f1{}:} expression returns the part of {\i string} that matched the subexpression; otherwise, it returns the number of characters matched.\par
\par
\pard\li720{}If the match fails, the {\f1{}:} operator returns the null string if {\f1{}\'5C(} and {\f1{}\'5C)} are used in {\i regex}, otherwise 0.\par
\par
\pard\li720{}Only the first {\f1{}\'5C( ... \'5C)} pair is relevant to the return value; additional pairs are meaningful only for grouping the regular expression operators.\par
\par
\pard\li720{}See {\uldb Regular Expression Library}{\v Top @regex.hlp}, for details of regular expression syntax.\par
\par
\pard{}{\f1{}match {\i string} {\i regex}}\par
\pard\li720{}{K{\footnote K match}}An alternative way to do pattern matching.  This is the same as {\f1{}{\i string} : {\i regex}}.\par
\par
\pard{}{\f1{}substr {\i string} {\i position} {\i length}}\par
\pard\li720{}{K{\footnote K substr}}Returns the substring of {\i string} beginning at {\i position} with length at most {\i length}.  If either {\i position} or {\i length} is negative or non-numeric, returns the null string.\par
\par
\pard{}{\f1{}index {\i string} {\i character-class}}\par
\pard\li720{}{K{\footnote K index}}Returns the first position in {\i string} where the first character in {\i charset} was found.  If no character in {\i charset} is found in {\i string}, return 0.\par
\par
\pard{}{\f1{}length {\i string}}\par
\pard\li720{}{K{\footnote K length}}Returns the length of {\i string}.\par
\par
\pard{}}\par
\pard{}The keywords cannot be used as strings.\par
\par
\page\pard Node: {\b Examples of expr}, \keepn Next: {\uldb }{\v }, Prev: {\uldb String expressions}{\v String_expressions}, Up: {\uldb expr invocation}{\v expr_invocation}\line
K{\footnote K Examples of expr}
#{\footnote Examples_of_expr}
${\footnote \pard{}Examples of {\f1{}expr}}\par
\pard{\fs24\b Examples of {\f1{}expr}}\par
\par
\pard{}{K{\footnote K examples of {\f1{}expr}}}Here are a few examples, including quoting for shell metacharacters.\par
\par
\pard{}To add 1 to the shell variable {\f1{}foo}, in Bourne-compatible shells: {\par
\pard\keep\li720\f1{}foo=`expr $foo + 1`\par
\pard\f0{}}\par
\pard{}To print the non-directory part of the file name stored in {\f1{}$fname}, which need not contain a {\f1{}/}.  {\par
\pard\keep\li720\f1{}expr $fname : '.*/\'5C(^.*\'5C)' '^|' $fname\par
\pard\f0{}}\par
{\pard\keep\li720\f1{}expr abc : 'a\'5C(.\'5C)c'\line
=> b\line
expr index abcdef cz\line
=> 3\line
expr index index a\line
error--> expr: syntax error\line
\par
\pard\f0{}}\par
\page\pard Node: {\b Redirection}, \keepn Next: {\uldb File name manipulation}{\v File_name_manipulation}, Prev: {\uldb Conditions}{\v Conditions}, Up: {\uldb Top}{\v Top}\line
K{\footnote K Redirection}
#{\footnote Redirection}
${\footnote \pard{}Redirection}\par
\pard{\fs24\b Redirection}\par
\par
\pard{}{K{\footnote K redirection}}{K{\footnote K commands for redirection}} Unix shells commonly provide several forms of \'A2redirection\'A2--ways to change the input source or output destination of a command.  But one useful redirection is performed by a separate command, not by the shell; it's described here.\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb tee invocation}{\v tee_invocation}\tab Redirect output to multiple files.\par
\pard{}}\par
\page\pard Node: {\b tee invocation}, \keepn Next: {\uldb }{\v }, Prev: {\uldb }{\v }, Up: {\uldb Redirection}{\v Redirection}\line
K{\footnote K tee invocation}
#{\footnote tee_invocation}
${\footnote {\f1{}\pard{}tee}: Redirect output to multiple files}\par
\pard{\fs24\b {\f1{}tee}: Redirect output to multiple files}\par
\par
\pard{}{K{\footnote K tee}}{K{\footnote K pipe fitting}}{K{\footnote K destinations, multiple output}}{K{\footnote K read from stdin and write to stdout and files}} The {\f1{}tee} command copies standard input to standard output and also to any files given as arguments.  This is useful when you want not only to send some data down a pipe, but also to save a copy.  Synopsis:\par
\par
{\pard\keep\li720\f1{}tee [{\i option}]... [{\i file}]...\par
\pard\f0{}}\par
\pard{}If a file being written to does not already exist, it is created.  If a file being written to already exists, the data it previously contained is overwritten unless the {\f1{}-a} option is used.\par
\par
\pard{}The program accepts the following options.  Also see {\uldb Common options}{\v Common_options}.\par
\par
{\pard{}{\f1{}-a}\par
\pard{}{\f1{}--append}\par
\pard\li720{}{K{\footnote K -a}}{K{\footnote K -append}}Append standard input to the given files rather than overwriting them.\par
\par
\pard{}{\f1{}-i}\par
\pard{}{\f1{}--ignore-interrupts}\par
\pard\li720{}{K{\footnote K -i}}{K{\footnote K -ignore-interrupts}}Ignore interrupt signals.\par
\par
\pard{}}\par
\page\pard Node: {\b File name manipulation}, \keepn Next: {\uldb Working context}{\v Working_context}, Prev: {\uldb Redirection}{\v Redirection}, Up: {\uldb Top}{\v Top}\line
K{\footnote K File name manipulation}
#{\footnote File_name_manipulation}
${\footnote \pard{}File name manipulation}\par
\pard{\fs24\b File name manipulation}\par
\par
\pard{}{K{\footnote K file name manipulation}}{K{\footnote K manipulation of file names}}{K{\footnote K commands for file name manipulation}} This section describes commands that manipulate file names.\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb basename invocation}{\v basename_invocation}\tab Strip directory and suffix from a file name.\par
{\uldb dirname invocation}{\v dirname_invocation}\tab Strip non-directory suffix from a file name.\par
{\uldb pathchk invocation}{\v pathchk_invocation}\tab Check file name portability.\par
\pard{}}\par
\page\pard Node: {\b basename invocation}, \keepn Next: {\uldb dirname invocation}{\v dirname_invocation}, Prev: {\uldb }{\v }, Up: {\uldb File name manipulation}{\v File_name_manipulation}\line
K{\footnote K basename invocation}
#{\footnote basename_invocation}
${\footnote {\f1{}\pard{}basename}: Strip directory and suffix from a file name}\par
\pard{\fs24\b {\f1{}basename}: Strip directory and suffix from a file name}\par
\par
\pard{}{K{\footnote K basename}}{K{\footnote K strip directory and suffix from file names}}{K{\footnote K directory, stripping from file names}}{K{\footnote K suffix, stripping from file names}}{K{\footnote K file names, stripping directory and suffix}}{K{\footnote K leading directory components, stripping}} {\f1{}basename} removes any leading directory components from {\i name}.  Synopsis:\par
\par
{\pard\keep\li720\f1{}basename {\i name} [{\i suffix}]\par
\pard\f0{}}\par
\pard{}If {\i suffix} is specified and is identical to the end of {\i name}, it is removed from {\i name} as well.  {\f1{}basename} prints the result on standard output.\par
\par
\pard{}The only options are {\f1{}--help} and {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\page\pard Node: {\b dirname invocation}, \keepn Next: {\uldb pathchk invocation}{\v pathchk_invocation}, Prev: {\uldb basename invocation}{\v basename_invocation}, Up: {\uldb File name manipulation}{\v File_name_manipulation}\line
K{\footnote K dirname invocation}
#{\footnote dirname_invocation}
${\footnote {\f1{}\pard{}dirname}: Strip non-directory suffix from a file name}\par
\pard{\fs24\b {\f1{}dirname}: Strip non-directory suffix from a file name}\par
\par
\pard{}{K{\footnote K dirname}}{K{\footnote K directory components, printing}}{K{\footnote K stripping non-directory suffix}}{K{\footnote K non-directory suffix, stripping}} {\f1{}dirname} prints all but the final slash-delimited component of a string (presumably a filename).  Synopsis:\par
\par
{\pard\keep\li720\f1{}dirname {\i name}\par
\pard\f0{}}\par
\pard{}If {\i name} is a single component, {\f1{}dirname} prints {\f1{}.} (meaning the current directory).\par
\par
\pard{}The only options are {\f1{}--help} and {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\page\pard Node: {\b pathchk invocation}, \keepn Next: {\uldb }{\v }, Prev: {\uldb dirname invocation}{\v dirname_invocation}, Up: {\uldb File name manipulation}{\v File_name_manipulation}\line
K{\footnote K pathchk invocation}
#{\footnote pathchk_invocation}
${\footnote {\f1{}\pard{}pathchk}: Check file name portability}\par
\pard{\fs24\b {\f1{}pathchk}: Check file name portability}\par
\par
\pard{}{K{\footnote K pathchk}}{K{\footnote K file names, checking validity and portability}}{K{\footnote K valid file names, checking for}}{K{\footnote K portable file names, checking for}} {\f1{}pathchk} checks portability of filenames.  Synopsis:\par
\par
{\pard\keep\li720\f1{}pathchk [{\i option}]... {\i name}...\par
\pard\f0{}}\par
\pard{}For each {\i name}, {\f1{}pathchk} prints a message if any of these conditions is true: {\par
\pard\fi-720\li720\tx144\tx720{}\tab{}1. \tab{}one of the existing directories in {\i name} does not have search (execute) permission,\par
\par
\pard\fi-720\li720\tx144\tx720{}\tab{}2. \tab{}the length of {\i name} is larger than its filesystem's maximum file name length,\par
\par
\pard\fi-720\li720\tx144\tx720{}\tab{}3. \tab{}the length of one component of {\i name}, corresponding to an existing directory name, is larger than its filesystem's maximum length for a file name component.\par
\pard{}}\par
\pard{}The program accepts the following option.  Also see {\uldb Common options}{\v Common_options}.\par
\par
{\pard{}{\f1{}-p}\par
\pard{}{\f1{}--portability}\par
\pard\li720{}{K{\footnote K -p}}{K{\footnote K -portability}}Instead of performing length checks on the underlying filesystem, test the length of each file name and its components against the POSIX.1 minimum limits for portability.  Also check that the file name contains no characters not in the portable file name character set.\par
\par
\pard{}}\par
\pard{}{K{\footnote K exit status of {\f1{}pathchk}}}Exit status:\par
\par
{\pard\keep\li720\f1{}0 if all specified file names passed all of the tests,\line
1 otherwise.\par
\pard\f0{}}\par
\page\pard Node: {\b Working context}, \keepn Next: {\uldb User information}{\v User_information}, Prev: {\uldb File name manipulation}{\v File_name_manipulation}, Up: {\uldb Top}{\v Top}\line
K{\footnote K Working context}
#{\footnote Working_context}
${\footnote \pard{}Working context}\par
\pard{\fs24\b Working context}\par
\par
\pard{}{K{\footnote K working context}}{K{\footnote K commands for printing the working context}} This section describes commands that display or alter the context in which you are working: the current directory, the terminal settings, and so forth.  See also the user-related commands in the next section.\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb pwd invocation}{\v pwd_invocation}\tab Print working directory.\par
{\uldb stty invocation}{\v stty_invocation}\tab Print or change terminal characteristics.\par
{\uldb printenv invocation}{\v printenv_invocation}\tab Print environment variables.\par
{\uldb tty invocation}{\v tty_invocation}\tab Print file name of terminal on standard input.\par
\pard{}}\par
\page\pard Node: {\b pwd invocation}, \keepn Next: {\uldb stty invocation}{\v stty_invocation}, Prev: {\uldb }{\v }, Up: {\uldb Working context}{\v Working_context}\line
K{\footnote K pwd invocation}
#{\footnote pwd_invocation}
${\footnote {\f1{}\pard{}pwd}: Print working directory}\par
\pard{\fs24\b {\f1{}pwd}: Print working directory}\par
\par
\pard{}{K{\footnote K pwd}}{K{\footnote K print name of current directory}}{K{\footnote K current working directory, printing}}{K{\footnote K working directory, printing}} {K{\footnote K symbolic links and {\f1{}pwd}}}{\f1{}pwd} prints the fully resolved name of the current directory.  That is, all components of the printed name will be actual directory names--none will be symbolic links.\par
\par
\pard{}{K{\footnote K conflicts with shell built-ins}}{K{\footnote K built-in shell commands, conflicts with}}Because most shells have a built-in command by the same name, using the unadorned command name in a script or interactively may get you different functionality than that described here.\par
\par
\pard{}The only options are a lone {\f1{}--help} or {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\page\pard Node: {\b stty invocation}, \keepn Next: {\uldb printenv invocation}{\v printenv_invocation}, Prev: {\uldb pwd invocation}{\v pwd_invocation}, Up: {\uldb Working context}{\v Working_context}\line
K{\footnote K stty invocation}
#{\footnote stty_invocation}
${\footnote {\f1{}\pard{}stty}: Print or change terminal characteristics}\par
\pard{\fs24\b {\f1{}stty}: Print or change terminal characteristics}\par
\par
\pard{}{K{\footnote K stty}}{K{\footnote K change or print terminal settings}}{K{\footnote K terminal settings}}{K{\footnote K line settings of terminal}} {\f1{}stty} prints or changes terminal characteristics, such as baud rate.  Synopses:\par
\par
{\pard\keep\li720\f1{}stty [{\i setting}]...\line
stty [{\i option}]\par
\pard\f0{}}\par
\pard{}If given no arguments, {\f1{}stty} prints the baud rate, line discipline number (on systems that support it), and line settings that have been changed from the values set by {\f1{}stty sane}.  Mode reading and setting are performed on the tty line connected to standard input.\par
\par
{\f1{}\pard{}stty} accepts many non-option arguments that change aspects of the terminal line operation, as described below.\par
\par
\pard{}The program accepts the following options.  Also see {\uldb Common options}{\v Common_options}.\par
\par
{\pard{}{\f1{}-a}\par
\pard{}{\f1{}--all}\par
\pard\li720{}{K{\footnote K -a}}{K{\footnote K -all}}Print all current settings in human-readable form.\par
\par
\pard{}{\f1{}-g}\par
\pard{}{\f1{}--save}\par
\pard\li720{}{K{\footnote K -g}}{K{\footnote K -save}}{K{\footnote K machine-readable {\f1{}stty} output}}Print all current settings in a form that can be used as an argument to another {\f1{}stty} command to restore the current settings.\par
\par
\pard{}}\par
\pard{}Many settings can be turned off by preceding them with a {\f1{}-}.  Such arguments are marked below with "May be negated" in their description.  The descriptions themselves refer to the positive case, that is, when {\i not} negated (unless stated otherwise, of course).\par
\par
\pard{}Some settings are not available on all POSIX systems, since they use extensions.  Such arguments are marked below with "Non-POSIX" in their description.  On non-POSIX systems, those or other settings also may not be available, but it's not feasible to document all the variations: just try it and see.\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb Control}{\v Control}\tab Control settings\par
{\uldb Input}{\v Input}\tab Input settings\par
{\uldb Output}{\v Output}\tab Output settings\par
{\uldb Local}{\v Local}\tab Local settings\par
{\uldb Combination}{\v Combination}\tab Combination settings\par
{\uldb Characters}{\v Characters}\tab Special characters\par
{\uldb Special}{\v Special}\tab Special settings\par
\pard{}}\par
\page\pard Node: {\b Control}, \keepn Next: {\uldb Input}{\v Input}, Prev: {\uldb }{\v }, Up: {\uldb stty invocation}{\v stty_invocation}\line
K{\footnote K Control}
#{\footnote Control}
${\footnote \pard{}Control settings}\par
\pard{\fs24\b Control settings}\par
\par
\pard{}{K{\footnote K control settings}}Control settings:\par
\par
{\pard{}{\f1{}parenb}\par
\pard\li720{}{K{\footnote K parenb}}{K{\footnote K two-way parity}}Generate parity bit in output and expect parity bit in input.  May be negated.\par
\par
\pard{}{\f1{}parodd}\par
\pard\li720{}{K{\footnote K parodd}}{K{\footnote K odd parity}}{K{\footnote K even parity}}Set odd parity (even if negated).  May be negated.\par
\par
\pard{}{\f1{}cs5}\par
\pard{}{\f1{}cs6}\par
\pard{}{\f1{}cs7}\par
\pard{}{\f1{}cs8}\par
\pard\li720{}{K{\footnote K cs{\i n}}}{K{\footnote K character size}}{K{\footnote K eight-bit characters}}Set character size to 5, 6, 7, or 8 bits.\par
\par
\pard{}{\f1{}hup}\par
\pard{}{\f1{}hupcl}\par
\pard\li720{}{K{\footnote K hup[cl]}}Send a hangup signal when the last process closes the tty.  May be negated.\par
\par
\pard{}{\f1{}cstopb}\par
\pard\li720{}{K{\footnote K cstopb}}{K{\footnote K stop bits}}Use two stop bits per character (one if negated).  May be negated.\par
\par
\pard{}{\f1{}cread}\par
\pard\li720{}{K{\footnote K cread}}Allow input to be received.  May be negated.\par
\par
\pard{}{\f1{}clocal}\par
\pard\li720{}{K{\footnote K clocal}}{K{\footnote K modem control}}Disable modem control signals.  May be negated.\par
\par
\pard{}{\f1{}crtscts}\par
\pard\li720{}{K{\footnote K crtscts}}{K{\footnote K hardware flow control}}{K{\footnote K flow control, hardware}}{K{\footnote K RTS/CTS flow control}}Enable RTS/CTS flow control.  Non-POSIX.  May be negated.\par
\pard{}}\par
\page\pard Node: {\b Input}, \keepn Next: {\uldb Output}{\v Output}, Prev: {\uldb Control}{\v Control}, Up: {\uldb stty invocation}{\v stty_invocation}\line
K{\footnote K Input}
#{\footnote Input}
${\footnote \pard{}Input settings}\par
\pard{\fs24\b Input settings}\par
\par
\pard{}{K{\footnote K input settings}} {\par
\pard{}{\f1{}ignbrk}\par
\pard\li720{}{K{\footnote K ignbrk}}{K{\footnote K breaks, ignoring}}Ignore break characters.  May be negated.\par
\par
\pard{}{\f1{}brkint}\par
\pard\li720{}{K{\footnote K brkint}}{K{\footnote K breaks, cause interrupts}}Make breaks cause an interrupt signal.  May be negated.\par
\par
\pard{}{\f1{}ignpar}\par
\pard\li720{}{K{\footnote K ignpar}}{K{\footnote K parity, ignoring}}Ignore characters with parity errors.  May be negated.\par
\par
\pard{}{\f1{}parmrk}\par
\pard\li720{}{K{\footnote K parmrk}}{K{\footnote K parity errors, marking}}Mark parity errors (with a 255-0-character sequence).  May be negated.\par
\par
\pard{}{\f1{}inpck}\par
\pard\li720{}{K{\footnote K inpck}}Enable input parity checking.  May be negated.\par
\par
\pard{}{\f1{}istrip}\par
\pard\li720{}{K{\footnote K istrip}}{K{\footnote K eight-bit input}}Clear high (8th) bit of input characters.  May be negated.\par
\par
\pard{}{\f1{}inlcr}\par
\pard\li720{}{K{\footnote K inlcr}}{K{\footnote K newline, translating to return}}Translate newline to carriage return.  May be negated.\par
\par
\pard{}{\f1{}igncr}\par
\pard\li720{}{K{\footnote K igncr}}{K{\footnote K return, ignoring}}Ignore carriage return.  May be negated.\par
\par
\pard{}{\f1{}icrnl}\par
\pard\li720{}{K{\footnote K icrnl}}{K{\footnote K return, translating to newline}}Translate carriage return to newline.  May be negated.\par
\par
\pard{}{\f1{}ixon}\par
\pard\li720{}{K{\footnote K ixon}}{K{\footnote K C-s/C-q flow control}}{K{\footnote K XON/XOFF flow control}}Enable XON/XOFF flow control (that is, {\f1{}CTRL-S}/{\f1{}CTRL-Q}).  May be negated.\par
\par
\pard{}{\f1{}ixoff}\par
\pard{}{\f1{}tandem}\par
\pard\li720{}{K{\footnote K ixoff}}{K{\footnote K tandem}}{K{\footnote K software flow control}}{K{\footnote K flow control, software}}Enable sending of {\f1{}stop} character when the system input buffer is almost full, and {\f1{}start} character when it becomes almost empty again.  May be negated.\par
\par
\pard{}{\f1{}iuclc}\par
\pard\li720{}{K{\footnote K iuclc}}{K{\footnote K uppercase, translating to lowercase}}Translate uppercase characters to lowercase.  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}ixany}\par
\pard\li720{}{K{\footnote K ixany}}Allow any character to restart output (only the start character if negated).  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}imaxbel}\par
\pard\li720{}{K{\footnote K imaxbel}}{K{\footnote K beeping at input buffer full}}Enable beeping and not flushing input buffer if a character arrives when the input buffer is full.  Non-POSIX.  May be negated.\par
\pard{}}\par
\page\pard Node: {\b Output}, \keepn Next: {\uldb Local}{\v Local}, Prev: {\uldb Input}{\v Input}, Up: {\uldb stty invocation}{\v stty_invocation}\line
K{\footnote K Output}
#{\footnote Output}
${\footnote \pard{}Output settings}\par
\pard{\fs24\b Output settings}\par
\par
\pard{}{K{\footnote K output settings}}These arguments specify output-related operations.\par
\par
{\pard{}{\f1{}opost}\par
\pard\li720{}{K{\footnote K opost}}Postprocess output.  May be negated.\par
\par
\pard{}{\f1{}olcuc}\par
\pard\li720{}{K{\footnote K olcuc}}{K{\footnote K lowercase, translating to output}}Translate lowercase characters to uppercase.  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}ocrnl}\par
\pard\li720{}{K{\footnote K ocrnl}}{K{\footnote K return, translating to newline}}Translate carriage return to newline.  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}onlcr}\par
\pard\li720{}{K{\footnote K onlcr}}{K{\footnote K newline, translating to crlf}}Translate newline to carriage return-newline.  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}onocr}\par
\pard\li720{}{K{\footnote K onocr}}Do not print carriage returns in the first column.  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}onlret}\par
\pard\li720{}{K{\footnote K onlret}}Newline performs a carriage return.  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}ofill}\par
\pard\li720{}{K{\footnote K ofill}}{K{\footnote K pad instead of timing for delaying}}Use fill (padding) characters instead of timing for delays.  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}ofdel}\par
\pard\li720{}{K{\footnote K ofdel}}{K{\footnote K pad character}}Use delete characters for fill instead of null characters.  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}nl1}\par
\pard{}{\f1{}nl0}\par
\pard\li720{}{K{\footnote K nl{\i n}}}Newline delay style.  Non-POSIX.\par
\par
\pard{}{\f1{}cr3}\par
\pard{}{\f1{}cr2}\par
\pard{}{\f1{}cr1}\par
\pard{}{\f1{}cr0}\par
\pard\li720{}{K{\footnote K cr{\i n}}}Carriage return delay style.  Non-POSIX.\par
\par
\pard{}{\f1{}tab3}\par
\pard{}{\f1{}tab2}\par
\pard{}{\f1{}tab1}\par
\pard{}{\f1{}tab0}\par
\pard\li720{}{K{\footnote K tab{\i n}}}Horizontal tab delay style.  Non-POSIX.\par
\par
\pard{}{\f1{}bs1}\par
\pard{}{\f1{}bs0}\par
\pard\li720{}{K{\footnote K bs{\i n}}}Backspace delay style.  Non-POSIX.\par
\par
\pard{}{\f1{}vt1}\par
\pard{}{\f1{}vt0}\par
\pard\li720{}{K{\footnote K vt{\i n}}}Vertical tab delay style.  Non-POSIX.\par
\par
\pard{}{\f1{}ff1}\par
\pard{}{\f1{}ff0}\par
\pard\li720{}{K{\footnote K ff{\i n}}}Form feed delay style.  Non-POSIX.\par
\pard{}}\par
\page\pard Node: {\b Local}, \keepn Next: {\uldb Combination}{\v Combination}, Prev: {\uldb Output}{\v Output}, Up: {\uldb stty invocation}{\v stty_invocation}\line
K{\footnote K Local}
#{\footnote Local}
${\footnote \pard{}Local settings}\par
\pard{\fs24\b Local settings}\par
\par
\pard{}{K{\footnote K local settings}} {\par
\pard{}{\f1{}isig}\par
\pard\li720{}{K{\footnote K isig}}Enable {\f1{}interrupt}, {\f1{}quit}, and {\f1{}suspend} special characters.  May be negated.\par
\par
\pard{}{\f1{}icanon}\par
\pard\li720{}{K{\footnote K icanon}}Enable {\f1{}erase}, {\f1{}kill}, {\f1{}werase}, and {\f1{}rprnt} special characters.  May be negated.\par
\par
\pard{}{\f1{}iexten}\par
\pard\li720{}{K{\footnote K iexten}}Enable non-POSIX special characters.  May be negated.\par
\par
\pard{}{\f1{}echo}\par
\pard\li720{}{K{\footnote K echo}}Echo input characters.  May be negated.\par
\par
\pard{}{\f1{}echoe}\par
\pard{}{\f1{}crterase}\par
\pard\li720{}{K{\footnote K echoe}}{K{\footnote K crterase}}Echo {\f1{}erase} characters as backspace-space-backspace.  May be negated.\par
\par
\pard{}{\f1{}echok}\par
\pard\li720{}{K{\footnote K echok}}{K{\footnote K newline echoing after {\f1{}kill}}}Echo a newline after a {\f1{}kill} character.  May be negated.\par
\par
\pard{}{\f1{}echonl}\par
\pard\li720{}{K{\footnote K echonl}}{K{\footnote K newline, echoing}}Echo newline even if not echoing other characters.  May be negated.\par
\par
\pard{}{\f1{}noflsh}\par
\pard\li720{}{K{\footnote K noflsh}}{K{\footnote K flushing, disabling}}Disable flushing after {\f1{}interrupt} and {\f1{}quit} special characters.  May be negated.\par
\par
\pard{}{\f1{}xcase}\par
\pard\li720{}{K{\footnote K xcase}}{K{\footnote K case translation}}Enable input and output of uppercase characters by preceding their lowercase equivalents with {\f1{}\'5C}, when {\f1{}icanon} is set.  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}tostop}\par
\pard\li720{}{K{\footnote K tostop}}{K{\footnote K background jobs, stopping at terminal write}}Stop background jobs that try to write to the terminal.  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}echoprt}\par
\pard{}{\f1{}prterase}\par
\pard\li720{}{K{\footnote K echoprt}}{K{\footnote K prterase}}Echo erased characters backward, between {\f1{}\'5C} and {\f1{}/}.  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}echoctl}\par
\pard{}{\f1{}ctlecho}\par
\pard\li720{}{K{\footnote K echoctl}}{K{\footnote K ctlecho}}{K{\footnote K control characters, using {\f1{}^{\i c}}}}{K{\footnote K hat notation for control characters}}Echo control characters in hat notation ({\f1{}^{\i c}}) instead of literally.  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}echoke}\par
\pard{}{\f1{}crtkill}\par
\pard\li720{}{K{\footnote K echoke}}{K{\footnote K crtkill}}Echo the {\f1{}kill} special character by erasing each character on the line as indicated by the {\f1{}echoprt} and {\f1{}echoe} settings, instead of by the {\f1{}echoctl} and {\f1{}echok} settings.  Non-POSIX.  May be negated.\par
\pard{}}\par
\page\pard Node: {\b Combination}, \keepn Next: {\uldb Characters}{\v Characters}, Prev: {\uldb Local}{\v Local}, Up: {\uldb stty invocation}{\v stty_invocation}\line
K{\footnote K Combination}
#{\footnote Combination}
${\footnote \pard{}Combination settings}\par
\pard{\fs24\b Combination settings}\par
\par
\pard{}{K{\footnote K combination settings}}Combination settings:\par
\par
{\pard{}{\f1{}evenp}\par
\pard\li720{}{K{\footnote K evenp}}\par
\par
\pard{}{\f1{}parity}\par
\pard\li720{}{K{\footnote K parity}}Same as {\f1{}parenb -parodd cs7}.  May be negated.  If negated, same as {\f1{}-parenb cs8}.\par
\par
\pard{}{\f1{}oddp}\par
\pard\li720{}{K{\footnote K oddp}}Same as {\f1{}parenb parodd cs7}.  May be negated.  If negated, same as {\f1{}-parenb cs8}.\par
\par
\pard{}{\f1{}nl}\par
\pard\li720{}{K{\footnote K nl}}Same as {\f1{}-icrnl -onlcr}.  May be negated.  If negated, same as {\f1{}icrnl -inlcr -igncr onlcr -ocrnl -onlret}.\par
\par
\pard{}{\f1{}ek}\par
\pard\li720{}{K{\footnote K ek}}Reset the {\f1{}erase} and {\f1{}kill} special characters to their default values.\par
\par
\pard{}{\f1{}sane}\par
\pard\li720{}{K{\footnote K sane}}Same as: {\par
\pard\keep\li1440\f1{}cread -ignbrk brkint -inlcr -igncr icrnl -ixoff -iuclc -ixany\line
imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel\line
nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl\line
-noflsh -xcase -tostop -echoprt echoctl echoke\par
\pard\li720\f0{}} and also sets all special characters to their default values.\par
\par
\pard{}{\f1{}cooked}\par
\pard\li720{}{K{\footnote K cooked}}Same as {\f1{}brkint ignpar istrip icrnl ixon opost isig icanon}, plus sets the {\f1{}eof} and {\f1{}eol} characters to their default values if they are the same as the {\f1{}min} and {\f1{}time} characters.  May be negated.  If negated, same as {\f1{}raw}.\par
\par
\pard{}{\f1{}raw}\par
\pard\li720{}{K{\footnote K raw}}Same as: {\par
\pard\keep\li1440\f1{}-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr\line
-icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon\line
-xcase min 1 time 0\par
\pard\li720\f0{}} May be negated.  If negated, same as {\f1{}cooked}.\par
\par
\pard{}{\f1{}cbreak}\par
\pard\li720{}{K{\footnote K cbreak}}Same as {\f1{}-icanon}.  May be negated.  If negated, same as {\f1{}icanon}.\par
\par
\pard{}{\f1{}pass8}\par
\pard\li720{}{K{\footnote K pass8}}{K{\footnote K eight-bit characters}}Same as {\f1{}-parenb -istrip cs8}.  May be negated.  If negated, same as {\f1{}parenb istrip cs7}.\par
\par
\pard{}{\f1{}litout}\par
\pard\li720{}{K{\footnote K litout}}Same as {\f1{}-parenb -istrip -opost cs8}.  May be negated.  If negated, same as {\f1{}parenb istrip opost cs7}.\par
\par
\pard{}{\f1{}decctlq}\par
\pard\li720{}{K{\footnote K decctlq}}Same as {\f1{}-ixany}.  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}tabs}\par
\pard\li720{}{K{\footnote K tabs}}Same as {\f1{}tab0}.  Non-POSIX.  May be negated.  If negated, same as {\f1{}tab3}.\par
\par
\pard{}{\f1{}lcase}\par
\pard{}{\f1{}LCASE}\par
\pard\li720{}{K{\footnote K lcase}}{K{\footnote K LCASE}}Same as {\f1{}xcase iuclc olcuc}.  Non-POSIX.  May be negated.\par
\par
\pard{}{\f1{}crt}\par
\pard\li720{}{K{\footnote K crt}}Same as {\f1{}echoe echoctl echoke}.\par
\par
\pard{}{\f1{}dec}\par
\pard\li720{}{K{\footnote K dec}}Same as {\f1{}echoe echoctl echoke -ixany intr ^C erase ^? kill C-u}.\par
\pard{}}\par
\page\pard Node: {\b Characters}, \keepn Next: {\uldb Special}{\v Special}, Prev: {\uldb Combination}{\v Combination}, Up: {\uldb stty invocation}{\v stty_invocation}\line
K{\footnote K Characters}
#{\footnote Characters}
${\footnote \pard{}Special characters}\par
\pard{\fs24\b Special characters}\par
\par
\pard{}{K{\footnote K special characters}}{K{\footnote K characters, special}} The special characters' default values vary from system to system.  They are set with the syntax {\f1{}name value}, where the names are listed below and the value can be given either literally, in hat notation ({\f1{}^{\i c}}), or as an integer which may start with {\f1{}0x} to indicate hexadecimal, {\f1{}0} to indicate octal, or any other digit to indicate decimal.\par
\par
\pard{}{K{\footnote K disabling special characters}}{K{\footnote K u, and disabling special characters}}For GNU stty, giving a value of {\f1{}^-} or {\f1{}undef} disables that special character.  (This is incompatible with Ultrix {\f1{}stty}, which uses  a value of {\f1{}u} to disable a special character.  GNU {\f1{}stty} treats a value {\f1{}u} like any other, namely to set that special character to <U>.)\par
\par
{\pard{}{\f1{}intr}\par
\pard\li720{}{K{\footnote K intr}}Send an interrupt signal.\par
\par
\pard{}{\f1{}quit}\par
\pard\li720{}{K{\footnote K quit}}Send a quit signal.\par
\par
\pard{}{\f1{}erase}\par
\pard\li720{}{K{\footnote K erase}}Erase the last character typed.\par
\par
\pard{}{\f1{}kill}\par
\pard\li720{}{K{\footnote K kill}}Erase the current line.\par
\par
\pard{}{\f1{}eof}\par
\pard\li720{}{K{\footnote K eof}}Send an end of file (terminate the input).\par
\par
\pard{}{\f1{}eol}\par
\pard\li720{}{K{\footnote K eol}}End the line.\par
\par
\pard{}{\f1{}eol2}\par
\pard\li720{}{K{\footnote K eol2}}Alternate character to end the line.  Non-POSIX.\par
\par
\pard{}{\f1{}swtch}\par
\pard\li720{}{K{\footnote K swtch}}Switch to a different shell layer.  Non-POSIX.\par
\par
\pard{}{\f1{}start}\par
\pard\li720{}{K{\footnote K start}}Restart the output after stopping it.\par
\par
\pard{}{\f1{}stop}\par
\pard\li720{}{K{\footnote K stop}}Stop the output.\par
\par
\pard{}{\f1{}susp}\par
\pard\li720{}{K{\footnote K susp}}Send a terminal stop signal.\par
\par
\pard{}{\f1{}dsusp}\par
\pard\li720{}{K{\footnote K dsusp}}Send a terminal stop signal after flushing the input.  Non-POSIX.\par
\par
\pard{}{\f1{}rprnt}\par
\pard\li720{}{K{\footnote K rprnt}}Redraw the current line.  Non-POSIX.\par
\par
\pard{}{\f1{}werase}\par
\pard\li720{}{K{\footnote K werase}}Erase the last word typed.  Non-POSIX.\par
\par
\pard{}{\f1{}lnext}\par
\pard\li720{}{K{\footnote K lnext}}Enter the next character typed literally, even if it is a special character.  Non-POSIX.\par
\pard{}}\par
\page\pard Node: {\b Special}, \keepn Next: {\uldb }{\v }, Prev: {\uldb Characters}{\v Characters}, Up: {\uldb stty invocation}{\v stty_invocation}\line
K{\footnote K Special}
#{\footnote Special}
${\footnote \pard{}Special settings}\par
\pard{\fs24\b Special settings}\par
\par
\pard{}{K{\footnote K special settings}} {\par
\pard{}{\f1{}min {\i n}}\par
\pard\li720{}{K{\footnote K min}}Set the minimum number of characters that will satisfy a read until the time value has expired, when {\f1{}-icanon} is set.\par
\par
\pard{}{\f1{}time {\i n}}\par
\pard\li720{}{K{\footnote K time}}Set the number of tenths of a second before reads time out if the min number of characters have not been read, when {\f1{}-icanon} is set.\par
\par
\pard{}{\f1{}ispeed {\i n}}\par
\pard\li720{}{K{\footnote K ispeed}}Set the input speed to {\i n}.\par
\par
\pard{}{\f1{}ospeed {\i n}}\par
\pard\li720{}{K{\footnote K ospeed}}Set the output speed to {\i n}.\par
\par
\pard{}{\f1{}rows {\i n}}\par
\pard\li720{}{K{\footnote K rows}}Tell the tty kernel driver that the terminal has {\i n} rows.  Non-POSIX.\par
\par
\pard{}{\f1{}cols {\i n}}\par
\pard{}{\f1{}columns {\i n}}\par
\pard\li720{}{K{\footnote K cols}}{K{\footnote K columns}}Tell the kernel that the terminal has {\i n} columns.  Non-POSIX.\par
\par
\pard{}{\f1{}size}\par
\pard\li720{}{K{\footnote K size}}{K{\footnote K LINES}}{K{\footnote K COLUMNS}}Print the number of rows and columns that the kernel thinks the terminal has.  (Systems that don't support rows and cols in the kernel typically use the environment variables {\f1{}LINES} and {\f1{}COLUMNS} instead; however, GNU {\f1{}stty} does not know anything about them.)  Non-POSIX.\par
\par
\pard{}{\f1{}line {\i n}}\par
\pard\li720{}{K{\footnote K line}}Use line discipline {\i n}.  Non-POSIX.\par
\par
\pard{}{\f1{}speed}\par
\pard\li720{}{K{\footnote K speed}}Print the terminal speed.\par
\par
\pard{}{\f1{}{\i n}}\par
\pard\li720{}{K{\footnote K baud rate, setting}}Set the input and output speeds to {\i n}.  {\i n} can be one of: 0 50 75 110 134 134.5 150 200 300 600 1200 1800 2400 4800 9600 19200 38400 {\f1{}exta} {\f1{}extb}.  {\f1{}exta} is the same as 19200; {\f1{}extb} is the same as 38400.  0 hangs up the line if {\f1{}-clocal} is set.\par
\pard{}}\par
\page\pard Node: {\b printenv invocation}, \keepn Next: {\uldb tty invocation}{\v tty_invocation}, Prev: {\uldb stty invocation}{\v stty_invocation}, Up: {\uldb Working context}{\v Working_context}\line
K{\footnote K printenv invocation}
#{\footnote printenv_invocation}
${\footnote {\f1{}\pard{}printenv}: Print all or some environment variables}\par
\pard{\fs24\b {\f1{}printenv}: Print all or some environment variables}\par
\par
\pard{}{K{\footnote K printenv}}{K{\footnote K printing all or some environment variables}}{K{\footnote K environment variables, printing}} {\f1{}printenv} prints environment variable values.  Synopsis:\par
\par
{\pard\keep\li720\f1{}printenv [{\i option}] [{\i variable}]...\par
\pard\f0{}}\par
\pard{}If no {\i variable}s are specified, {\f1{}printenv} prints the value of every environment variable.  Otherwise, it prints the value of each {\i variable} that is set, and nothing for those that are not set.\par
\par
\pard{}The only options are a lone {\f1{}--help} or {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\pard{}{K{\footnote K exit status of {\f1{}printenv}}}Exit status:\par
\par
{\pard\keep\li720\f1{}0 if all variables specified were found\line
1 if at least one specified variable was not found\line
2 if a write error occurred\par
\pard\f0{}}\par
\page\pard Node: {\b tty invocation}, \keepn Next: {\uldb }{\v }, Prev: {\uldb printenv invocation}{\v printenv_invocation}, Up: {\uldb Working context}{\v Working_context}\line
K{\footnote K tty invocation}
#{\footnote tty_invocation}
${\footnote {\f1{}\pard{}tty}: Print file name of terminal on standard input}\par
\pard{\fs24\b {\f1{}tty}: Print file name of terminal on standard input}\par
\par
\pard{}{K{\footnote K tty}}{K{\footnote K print terminal file name}}{K{\footnote K terminal file name, printing}} {\f1{}tty} prints the file name of the terminal connected to its standard input.  It prints {\f1{}not a tty} if standard input is not a terminal.  Synopsis:\par
\par
{\pard\keep\li720\f1{}tty [{\i option}]...\par
\pard\f0{}}\par
\pard{}The program accepts the following option.  Also see {\uldb Common options}{\v Common_options}.\par
\par
{\pard{}{\f1{}-s}\par
\pard{}{\f1{}--silent}\par
\pard{}{\f1{}--quiet}\par
\pard\li720{}{K{\footnote K -s}}{K{\footnote K -silent}}{K{\footnote K -quiet}}Print nothing; only return an exit status.\par
\par
\pard{}}\par
\pard{}{K{\footnote K exit status of {\f1{}tty}}}Exit status:\par
\par
{\pard\keep\li720\f1{}0 if standard input is a terminal\line
1 if standard input is not a terminal\line
2 if given incorrect arguments\line
3 if a write error occurs\par
\pard\f0{}}\par
\page\pard Node: {\b User information}, \keepn Next: {\uldb System context}{\v System_context}, Prev: {\uldb Working context}{\v Working_context}, Up: {\uldb Top}{\v Top}\line
K{\footnote K User information}
#{\footnote User_information}
${\footnote \pard{}User information}\par
\pard{\fs24\b User information}\par
\par
\pard{}{K{\footnote K user information, commands for}}{K{\footnote K commands for printing user information}} This section describes commands that print user-related information: logins, groups, and so forth.\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb id invocation}{\v id_invocation}\tab Print real and effective uid and gid.\par
{\uldb logname invocation}{\v logname_invocation}\tab Print current login name.\par
{\uldb whoami invocation}{\v whoami_invocation}\tab Print effective user id.\par
{\uldb groups invocation}{\v groups_invocation}\tab Print group names a user is in.\par
{\uldb users invocation}{\v users_invocation}\tab Print login names of users currently logged in.\par
{\uldb who invocation}{\v who_invocation}\tab Print who is currently logged in.\par
\pard{}}\par
\page\pard Node: {\b id invocation}, \keepn Next: {\uldb logname invocation}{\v logname_invocation}, Prev: {\uldb }{\v }, Up: {\uldb User information}{\v User_information}\line
K{\footnote K id invocation}
#{\footnote id_invocation}
${\footnote {\f1{}\pard{}id}: Print real and effective uid and gid}\par
\pard{\fs24\b {\f1{}id}: Print real and effective uid and gid}\par
\par
\pard{}{K{\footnote K id}}{K{\footnote K real uid and gid, printing}}{K{\footnote K effective uid and gid, printing}}{K{\footnote K printing real and effective uid and gid}} {\f1{}id} prints information about the given user, or the process running it if no user is specified.  Synopsis:\par
\par
{\pard\keep\li720\f1{}id [{\i option}]... [{\i username}]\par
\pard\f0{}}\par
\pard{}By default, it prints the real user id, real group id, effective user id if different from the real user id, effective group id if different from the real group id, and supplemental group ids.\par
\par
\pard{}Each of these numeric values is preceded by an identifying string and followed by the corresponding user or group name in parentheses.\par
\par
\pard{}The options cause {\f1{}id} to print only part of the above information.  Also see {\uldb Common options}{\v Common_options}.\par
\par
{\pard{}{\f1{}-g}\par
\pard{}{\f1{}--group}\par
\pard\li720{}{K{\footnote K -g}}{K{\footnote K -group}}Print only the group id.\par
\par
\pard{}{\f1{}-G}\par
\pard{}{\f1{}--groups}\par
\pard\li720{}{K{\footnote K -G}}{K{\footnote K -groups}}Print only the supplementary groups.\par
\par
\pard{}{\f1{}-n}\par
\pard{}{\f1{}--name}\par
\pard\li720{}{K{\footnote K -n}}{K{\footnote K -name}}Print the user or group name instead of the ID number.  Requires {\f1{}-u}, {\f1{}-g}, or {\f1{}-G}.\par
\par
\pard{}{\f1{}-r}\par
\pard{}{\f1{}--real}\par
\pard\li720{}{K{\footnote K -r}}{K{\footnote K -real}}Print the real, instead of effective, user or group id.  Requires {\f1{}-u}, {\f1{}-g}, or {\f1{}-G}.\par
\par
\pard{}{\f1{}-u}\par
\pard{}{\f1{}--user}\par
\pard\li720{}{K{\footnote K -u}}{K{\footnote K -user}}Print only the user id.\par
\par
\pard{}}\par
\page\pard Node: {\b logname invocation}, \keepn Next: {\uldb whoami invocation}{\v whoami_invocation}, Prev: {\uldb id invocation}{\v id_invocation}, Up: {\uldb User information}{\v User_information}\line
K{\footnote K logname invocation}
#{\footnote logname_invocation}
${\footnote {\f1{}\pard{}logname}: Print current login name}\par
\pard{\fs24\b {\f1{}logname}: Print current login name}\par
\par
\pard{}{K{\footnote K logname}}{K{\footnote K printing user's login name}}{K{\footnote K login name, printing}}{K{\footnote K user name, printing}} {K{\footnote K /etc/utmp}}{K{\footnote K utmp}} {\f1{}logname} prints the calling user's name, as found in the file {\f1{}/etc/utmp}, and exits with a status of 0.  If there is no {\f1{}/etc/utmp} entry for the calling process, {\f1{}logname} prints an error message and exits with a status of 1.\par
\par
\pard{}The only options are {\f1{}--help} and {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\page\pard Node: {\b whoami invocation}, \keepn Next: {\uldb groups invocation}{\v groups_invocation}, Prev: {\uldb logname invocation}{\v logname_invocation}, Up: {\uldb User information}{\v User_information}\line
K{\footnote K whoami invocation}
#{\footnote whoami_invocation}
${\footnote {\f1{}\pard{}whoami}: Print effective user id}\par
\pard{\fs24\b {\f1{}whoami}: Print effective user id}\par
\par
\pard{}{K{\footnote K whoami}}{K{\footnote K effective UID, printing}}{K{\footnote K printing the effective UID}} {\f1{}whoami} prints the user name associated with the current effective user id.  It is equivalent to the command {\f1{}id -un}.\par
\par
\pard{}The only options are {\f1{}--help} and {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\page\pard Node: {\b groups invocation}, \keepn Next: {\uldb users invocation}{\v users_invocation}, Prev: {\uldb whoami invocation}{\v whoami_invocation}, Up: {\uldb User information}{\v User_information}\line
K{\footnote K groups invocation}
#{\footnote groups_invocation}
${\footnote {\f1{}\pard{}groups}: Print group names a user is in}\par
\pard{\fs24\b {\f1{}groups}: Print group names a user is in}\par
\par
\pard{}{K{\footnote K groups}}{K{\footnote K printing groups a user is in}}{K{\footnote K supplementary groups, printing}} {\f1{}groups} prints the names of the primary and any supplementary groups for each given {\i username}, or the current process if no names are given.  If names are given, the name of each user is printed before the list of that user's groups.  Synopsis:\par
\par
{\pard\keep\li720\f1{}groups [{\i username}]...\par
\pard\f0{}}\par
\pard{}The group lists are equivalent to the output of the command {\f1{}id -Gn}.\par
\par
\pard{}The only options are {\f1{}--help} and {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\page\pard Node: {\b users invocation}, \keepn Next: {\uldb who invocation}{\v who_invocation}, Prev: {\uldb groups invocation}{\v groups_invocation}, Up: {\uldb User information}{\v User_information}\line
K{\footnote K users invocation}
#{\footnote users_invocation}
${\footnote {\f1{}\pard{}users}: Print login names of users currently logged in}\par
\pard{\fs24\b {\f1{}users}: Print login names of users currently logged in}\par
\par
\pard{}{K{\footnote K users}}{K{\footnote K printing current usernames}}{K{\footnote K usernames, printing current}} {K{\footnote K login sessions, printing users with}}{\f1{}users} prints on a single line a blank-separated list of user names of users currently logged in to the current host.  Each user name corresponds to a login session, so if a user has more than one login session, that user's name will appear the same number of times in the output. Synopsis:\par
\par
{\pard\keep\li720\f1{}users [{\i file}]\par
\pard\f0{}}\par
\pard{}{K{\footnote K /etc/utmp}}{K{\footnote K /etc/wtmp}}With no {\i file} argument, {\f1{}users} extracts its information from the file {\f1{}/etc/utmp}.  If a file argument is given, {\f1{}users} uses that file instead.  A common choice is {\f1{}/etc/wtmp}.\par
\par
\pard{}The only options are {\f1{}--help} and {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\page\pard Node: {\b who invocation}, \keepn Next: {\uldb }{\v }, Prev: {\uldb users invocation}{\v users_invocation}, Up: {\uldb User information}{\v User_information}\line
K{\footnote K who invocation}
#{\footnote who_invocation}
${\footnote {\f1{}\pard{}who}: Print who is currently logged in}\par
\pard{\fs24\b {\f1{}who}: Print who is currently logged in}\par
\par
\pard{}{K{\footnote K who}}{K{\footnote K printing current user information}}{K{\footnote K information, about current users}} {\f1{}who} prints information about users who are currently logged on.  Synopsis:\par
\par
{{\f1{}\pard\keep\li720\f1{}who} [{\i option}] [{\i file}] [am i]\par
\pard\f0{}}\par
\pard{}{K{\footnote K terminal lines, currently used}}{K{\footnote K login time}}{K{\footnote K remote hostname}}If given no non-option arguments, {\f1{}who} prints the following information for each user currently logged on: login name, terminal line, login time, and remote hostname or X display.\par
\par
\pard{}{K{\footnote K /etc/utmp}}{K{\footnote K /etc/wtmp}}If given one non-option argument, {\f1{}who} uses that instead of {\f1{}/etc/utmp} as the name of the file containing the record of users logged on.  {\f1{}/etc/wtmp} is commonly given as an argument to {\f1{}who} to look at who has previously logged on.\par
\par
\pard{}{K{\footnote K am i}}{K{\footnote K who am i}}If given two non-option arguments, {\f1{}who} prints only the entry for the user running it (determined from its standard input), preceded by the hostname.  Traditionally, the two arguments given are {\f1{}am i}, as in {\f1{}who am i}.\par
\par
\pard{}The program accepts the following options.  Also see {\uldb Common options}{\v Common_options}.\par
\par
{\pard{}{\f1{}-m}\par
\pard\li720{}{K{\footnote K -m}}Same as {\f1{}who am i}.\par
\par
\pard{}{\f1{}-q}\par
\pard{}{\f1{}--count}\par
\pard\li720{}{K{\footnote K -q}}{K{\footnote K -count}}Print only the login names and the number of users logged on.  Overrides all other options.\par
\par
\pard{}{\f1{}-s}\par
\pard\li720{}{K{\footnote K -s}}Ignored; for compatibility with other versions of {\f1{}who}.\par
\par
\pard{}{\f1{}-i}\par
\pard{}{\f1{}-u}\par
\pard{}{\f1{}--idle}\par
\pard\li720{}{K{\footnote K -i}}{K{\footnote K -u}}{K{\footnote K -idle}}{K{\footnote K idle time}}After the login time, print the number of hours and minutes that the user has been idle.  {\f1{}.} means the user was active in last minute.  {\f1{}old} means the user was idle for more than 24 hours.\par
\par
\pard{}{\f1{}-H}\par
\pard{}{\f1{}--heading}\par
\pard\li720{}{K{\footnote K -H}}{K{\footnote K -heading}}Print a line of column headings.\par
\par
\pard{}{\f1{}-w}\par
\pard{}{\f1{}-T}\par
\pard{}{\f1{}--mesg}\par
\pard{}{\f1{}--message}\par
\pard{}{\f1{}--writable}\par
\pard\li720{}{K{\footnote K -w}}{K{\footnote K -T}}{K{\footnote K -mesg}}{K{\footnote K -message}}{K{\footnote K -writable}}{K{\footnote K message status}}{K{\footnote K write, allowed}}After each login name print a character indicating the user's message status:\par
\par
{{\f1{}\pard\keep\li1440\f1{}+} allowing {\f1{}write} messages\line
{\f1{}-} disallowing {\f1{}write} messages\line
{\f1{}?} cannot find terminal device\par
\pard\li720\f0{}}\par
\pard{}}\par
\page\pard Node: {\b System context}, \keepn Next: {\uldb Modified command invocation}{\v Modified_command_invocation}, Prev: {\uldb User information}{\v User_information}, Up: {\uldb Top}{\v Top}\line
K{\footnote K System context}
#{\footnote System_context}
${\footnote \pard{}System context}\par
\pard{\fs24\b System context}\par
\par
\pard{}{K{\footnote K system context}}{K{\footnote K context, system}}{K{\footnote K commands for system context}} This section describes commands that print or change system-wide information.\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb date invocation}{\v date_invocation}\tab Print or set system date and time.\par
{\uldb uname invocation}{\v uname_invocation}\tab Print system information.\par
{\uldb hostname invocation}{\v hostname_invocation}\tab Print or set system name.\par
\pard{}}\par
\page\pard Node: {\b date invocation}, \keepn Next: {\uldb uname invocation}{\v uname_invocation}, Prev: {\uldb }{\v }, Up: {\uldb System context}{\v System_context}\line
K{\footnote K date invocation}
#{\footnote date_invocation}
${\footnote {\f1{}\pard{}date}: Print or set system date and time}\par
\pard{\fs24\b {\f1{}date}: Print or set system date and time}\par
\par
\pard{}{K{\footnote K date}}{K{\footnote K time, printing or setting}}{K{\footnote K printing the current time}} {\f1{}date} with no arguments prints the current time and date, in the format of the {\f1{}%c} directive (described below).  Synopses:\par
\par
{\pard\keep\li720\f1{}date [{\i option}]... [+{\i format}]\line
date [-u|--utc|--universal] [ {\i MMDDhhmm}[[{\i CC}]{\i YY}][.{\i ss}] ]\par
\pard\f0{}}\par
\pard{}{K{\footnote K strftime and {\f1{}date}}}{K{\footnote K time formats}}{K{\footnote K formatting times}}If given an argument that starts with a {\f1{}+}, {\f1{}date} prints the current time and date (or the time and date specified by the {\f1{}--date} option, see below) in the format defined by that argument, which is the same as in the {\f1{}strftime} function.  Except for directives, which start with {\f1{}%}, characters in the format string are printed unchanged.  The directives are described below.\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb Time directives}{\v Time_directives}\tab %[HIklMprsSTXzZ]\par
{\uldb Date directives}{\v Date_directives}\tab %[aAbBcdDhjmUwWxyY]\par
{\uldb Literal directives}{\v Literal_directives}\tab %[%nt]\par
{\uldb Padding}{\v Padding}\tab Pad with zeroes, spaces (%_), or nothing (%-).\par
{\uldb Setting the time}{\v Setting_the_time}\tab Changing the system clock.\par
{\uldb Options for date}{\v Options_for_date}\tab Instead of the current time.\par
{\uldb Examples of date}{\v Examples_of_date}\tab Examples.\par
\pard{}}\par
\page\pard Node: {\b Time directives}, \keepn Next: {\uldb Date directives}{\v Date_directives}, Prev: {\uldb }{\v }, Up: {\uldb date invocation}{\v date_invocation}\line
K{\footnote K Time directives}
#{\footnote Time_directives}
${\footnote \pard{}Time directives}\par
\pard{\fs24\b Time directives}\par
\par
\pard{}{K{\footnote K time directives}}{K{\footnote K directives, time}} {\f1{}date} directives related to times.\par
\par
{\pard{}{\f1{}%H}\par
\pard\li720{}hour (00...23)\par
\par
\pard{}{\f1{}%I}\par
\pard\li720{}hour (01...12)\par
\par
\pard{}{\f1{}%k}\par
\pard\li720{}hour ( 0...23)\par
\par
\pard{}{\f1{}%l}\par
\pard\li720{}hour ( 1...12)\par
\par
\pard{}{\f1{}%M}\par
\pard\li720{}minute (00...59)\par
\par
\pard{}{\f1{}%p}\par
\pard\li720{}locale's AM or PM\par
\par
\pard{}{\f1{}%r}\par
\pard\li720{}time, 12-hour (hh:mm:ss [AP]M)\par
\par
\pard{}{\f1{}%s}\par
\pard\li720{}{K{\footnote K epoch, seconds since}}{K{\footnote K seconds since the epoch}}{K{\footnote K beginning of time}}seconds since the epoch, i.e., 1 January 1970 00:00:00 UTC (a GNU extension).  Note that this value is the number of seconds between the epoch and the current date as defined by the localtime system call.  It isn't changed by the {\f1{}--date} option.\par
\par
\pard{}{\f1{}%S}\par
\pard\li720{}second (00...61)\par
\par
\pard{}{\f1{}%T}\par
\pard\li720{}time, 24-hour (hh:mm:ss)\par
\par
\pard{}{\f1{}%X}\par
\pard\li720{}locale's time representation (%H:%M:%S)\par
\par
\pard{}{\f1{}%z}\par
\pard\li720{}RFC-822 style numeric time zone (e.g., -0600 or +0100), or nothing if no time zone is determinable.  This value reflects the {\i current} time zone.  It isn't changed by the {\f1{}--date} option.\par
\par
\pard{}{\f1{}%Z}\par
\pard\li720{}time zone (e.g., EDT), or nothing if no timezone is determinable.  Note that this value reflects the {\i current} time zone.  It isn't changed by the {\f1{}--date} option.\par
\pard{}}\par
\page\pard Node: {\b Date directives}, \keepn Next: {\uldb Literal directives}{\v Literal_directives}, Prev: {\uldb Time directives}{\v Time_directives}, Up: {\uldb date invocation}{\v date_invocation}\line
K{\footnote K Date directives}
#{\footnote Date_directives}
${\footnote \pard{}Date directives}\par
\pard{\fs24\b Date directives}\par
\par
\pard{}{K{\footnote K date directives}}{K{\footnote K directives, date}} {\f1{}date} directives related to dates.\par
\par
{\pard{}{\f1{}%a}\par
\pard\li720{}locale's abbreviated weekday name (Sun...Sat)\par
\par
\pard{}{\f1{}%A}\par
\pard\li720{}locale's full weekday name, variable length (Sunday...Saturday)\par
\par
\pard{}{\f1{}%b}\par
\pard\li720{}locale's abbreviated month name (Jan...Dec)\par
\par
\pard{}{\f1{}%B}\par
\pard\li720{}locale's full month name, variable length (January...December)\par
\par
\pard{}{\f1{}%c}\par
\pard\li720{}locale's date and time (Sat Nov 04 12:02:33 EST 1989)\par
\par
\pard{}{\f1{}%d}\par
\pard\li720{}day of month (01...31)\par
\par
\pard{}{\f1{}%D}\par
\pard\li720{}date (mm/dd/yy)\par
\par
\pard{}{\f1{}%h}\par
\pard\li720{}same as %b\par
\par
\pard{}{\f1{}%j}\par
\pard\li720{}day of year (001...366)\par
\par
\pard{}{\f1{}%m}\par
\pard\li720{}month (01...12)\par
\par
\pard{}{\f1{}%U}\par
\pard\li720{}week number of year with Sunday as first day of week (00...53).  Days in a new year preceding the first Sunday are in week zero.\par
\par
\pard{}{\f1{}%V}\par
\pard\li720{}week number of year with Monday as first day of the week as a decimal (01...53). If the week containing January 1 has four or more days in the new year, then it is considered week 1; otherwise, it is week 53 of the previous year, and the next week is week 1. (See the ISO 8601: 1988 standard.)\par
\par
\pard{}{\f1{}%w}\par
\pard\li720{}day of week (0...6) with 0 corresponding to Sunday\par
\par
\pard{}{\f1{}%W}\par
\pard\li720{}week number of year with Monday as first day of week (00...53).  Days in a new year preceding the first Monday are in week zero.\par
\par
\pard{}{\f1{}%x}\par
\pard\li720{}locale's date representation (mm/dd/yy)\par
\par
\pard{}{\f1{}%y}\par
\pard\li720{}last two digits of year (00...99)\par
\par
\pard{}{\f1{}%Y}\par
\pard\li720{}year (1970....)\par
\pard{}}\par
\page\pard Node: {\b Literal directives}, \keepn Next: {\uldb Padding}{\v Padding}, Prev: {\uldb Date directives}{\v Date_directives}, Up: {\uldb date invocation}{\v date_invocation}\line
K{\footnote K Literal directives}
#{\footnote Literal_directives}
${\footnote \pard{}Literal directives}\par
\pard{\fs24\b Literal directives}\par
\par
\pard{}{K{\footnote K literal directives}}{K{\footnote K directives, literal}} {\f1{}date} directives that produce literal strings.\par
\par
{\pard{}{\f1{}%%}\par
\pard\li720{}a literal %\par
\par
\pard{}{\f1{}%n}\par
\pard\li720{}a newline\par
\par
\pard{}{\f1{}%t}\par
\pard\li720{}a horizontal tab\par
\pard{}}\par
\page\pard Node: {\b Padding}, \keepn Next: {\uldb Setting the time}{\v Setting_the_time}, Prev: {\uldb Literal directives}{\v Literal_directives}, Up: {\uldb date invocation}{\v date_invocation}\line
K{\footnote K Padding}
#{\footnote Padding}
${\footnote \pard{}Padding}\par
\pard{\fs24\b Padding}\par
\par
\pard{}{K{\footnote K numeric field padding}}{K{\footnote K padding of numeric fields}}{K{\footnote K fields, padding numeric}} By default, {\f1{}date} pads numeric fields with zeroes, so that, for example, numeric months are always output as two digits. GNU {\f1{}date} recognizes the following numeric modifiers between the {\f1{}%} and the directive.\par
\par
{\pard{}{\f1{}-}\par
\pard\li720{}(hyphen) do not pad the field; useful if the output is intended for human consumption.\par
\par
\pard{}{\f1{}_}\par
\pard\li720{}(underscore) pad the field with spaces; useful if you need a fixed number of characters in the output, but zeroes are too distracting.\par
\pard{}}\par
\pard{}These are GNU extensions.\par
\par
\pard{}Here is an example illustrating the differences:\par
\par
{\pard\keep\li720\f1{}date +%d/%m -d "Feb 1"\line
=> 01/02\line
date +%-d/%-m -d "Feb 1"\line
=> 1/2\line
date +%_d/%_m -d "Feb 1"\line
=>  1/ 2\par
\pard\f0{}}\par
\page\pard Node: {\b Setting the time}, \keepn Next: {\uldb Options for date}{\v Options_for_date}, Prev: {\uldb Padding}{\v Padding}, Up: {\uldb date invocation}{\v date_invocation}\line
K{\footnote K Setting the time}
#{\footnote Setting_the_time}
${\footnote \pard{}Setting the time}\par
\pard{\fs24\b Setting the time}\par
\par
\pard{}{K{\footnote K setting the time}}{K{\footnote K time setting}}{K{\footnote K appropriate privileges}} If given an argument that does not start with {\f1{}+}, {\f1{}date} sets the system clock to the time and date specified by that argument (as described below).  You must have appropriate privileges to set the system clock.  The {\f1{}--date} and {\f1{}--set} options may not be used with such an argument.  The {\f1{}--universal} option may be used with such an argument to indicate that the specified time and date are relative to Coordinated Universal Time rather than to the local time zone.\par
\par
\pard{}The argument must consist entirely of digits, which have the following meaning:\par
\par
{\pard{}{\i MM}\par
\pard\li720{}month\par
\par
\pard{}{\i DD}\par
\pard\li720{}day within month\par
\par
\pard{}{\i hh}\par
\pard\li720{}hour\par
\par
\pard{}{\i mm}\par
\pard\li720{}minute\par
\par
\pard{}{\i CC}\par
\pard\li720{}first two digits of year (optional)\par
\par
\pard{}{\i YY}\par
\pard\li720{}last two digits of year (optional)\par
\par
\pard{}{\i ss}\par
\pard\li720{}second (optional)\par
\pard{}}\par
\pard{}The {\f1{}--set} option also sets the system clock; see the next section.\par
\par
\page\pard Node: {\b Options for date}, \keepn Next: {\uldb Examples of date}{\v Examples_of_date}, Prev: {\uldb Setting the time}{\v Setting_the_time}, Up: {\uldb date invocation}{\v date_invocation}\line
K{\footnote K Options for date}
#{\footnote Options_for_date}
${\footnote \pard{}Options for {\f1{}date}}\par
\pard{\fs24\b Options for {\f1{}date}}\par
\par
\pard{}{K{\footnote K {\f1{}date} options}}{K{\footnote K options for {\f1{}date}}} The program accepts the following options.  Also see {\uldb Common options}{\v Common_options}.\par
\par
{\pard{}{\f1{}-d {\i datestr}}\par
\pard{}{\f1{}--date={\i datestr}}\par
\pard\li720{}{K{\footnote K -d}}{K{\footnote K -date}}{K{\footnote K parsing date strings}}{K{\footnote K date strings, parsing}}{K{\footnote K arbitrary date strings, parsing}}{K{\footnote K yesterday}}{K{\footnote K tomorrow}}{K{\footnote K next {\i day}}}{K{\footnote K last {\i day}}}Display the time and date specified in {\i datestr} instead of the current time and date.  {\i datestr} can be in almost any common format.  It can contain month names, timezones, {\f1{}am} and {\f1{}pm}, {\f1{}yesterday}, {\f1{}ago}, {\f1{}next}, etc.  See {\uldb Date input formats}{\v Date_input_formats}.\par
\par
\pard{}{\f1{}-f {\i datefile}}\par
\pard{}{\f1{}--file={\i datefile}}\par
\pard\li720{}{K{\footnote K -f}}{K{\footnote K -file}}Parse each line in {\i datefile} as with {\f1{}-d} and display the resulting time and date.  If {\i datefile} is {\f1{}-}, use standard input.  This is useful when you have many dates to process, because the system overhead of starting up the {\f1{}date} executable many times can be considerable.\par
\par
\pard{}{\f1{}--rfc-822}\par
\pard\li720{}{K{\footnote K -R}}{K{\footnote K -rfc-822}}Display the time and date using the RFC-822-specified format, {\f1{}%a, %_d %b %Y %H:%M:%S %z}.  If {\f1{}--utc} is also specified, use {\f1{}GMT} in place of {\f1{}%z}.\par
\par
\pard{}{\f1{}-r {\i file}}\par
\pard{}{\f1{}--reference={\i file}}\par
\pard\li720{}{K{\footnote K -r}}{K{\footnote K -reference}}Display the time and date reference according to the last modification time of {\i file}, instead of the current time and date.\par
\par
\pard{}{\f1{}-s {\i datestr}}\par
\pard{}{\f1{}--set={\i datestr}}\par
\pard\li720{}{K{\footnote K -s}}{K{\footnote K -set}}Set the time and date to {\i datestr},  See {\f1{}-d} above.\par
\par
\pard{}{\f1{}-u}\par
\pard{}{\f1{}--utc}\par
\pard{}{\f1{}--universal}\par
\pard\li720{}{K{\footnote K -u}}{K{\footnote K -utc}}{K{\footnote K -universal}}{K{\footnote K coordinated universal time}}{K{\footnote K Greenwich Mean Time}}Print or set the time and date in Universal Coordinated Time instead of in local (wall clock) time.\par
\par
\pard{}}\par
\page\pard Node: {\b Examples of date}, \keepn Next: {\uldb }{\v }, Prev: {\uldb Options for date}{\v Options_for_date}, Up: {\uldb date invocation}{\v date_invocation}\line
K{\footnote K Examples of date}
#{\footnote Examples_of_date}
${\footnote \pard{}Examples of {\f1{}date}}\par
\pard{\fs24\b Examples of {\f1{}date}}\par
\par
\pard{}{K{\footnote K examples of {\f1{}date}}} Here are a few examples.  Also see the documentation for the {\f1{}-d} option in the previous section.\par
\par
{\pard\fi-720\li720\tx144\tx720{}\tab{}{\f2\'B7}\tab{}To print the date of the day before yesterday:\par
\par
{\pard\keep\li1440\f1{}date --date='2 days ago'\par
\pard\li720\f0{}}\par
\pard\fi-720\li720\tx144\tx720{}\tab{}{\f2\'B7}\tab{}To print the date of the day three months and one day hence: {\par
\pard\keep\li1440\f1{}date --date='3 months 1 day'\par
\pard\li720\f0{}}\par
\pard\fi-720\li720\tx144\tx720{}\tab{}{\f2\'B7}\tab{}To print the day of year of Christmas in the current year: {\par
\pard\keep\li1440\f1{}date --date='25 Dec' +%j\par
\pard\li720\f0{}}\par
\pard\fi-720\li720\tx144\tx720{}\tab{}{\f2\'B7}\tab{}To print the current full month name and the day of the month: {\par
\pard\keep\li1440\f1{}date '+%B %d'\par
\pard\li720\f0{}}\par
\pard\li720{}But this may not be what you want because for the first nine days of the month, the {\f1{}%d} expands to a zero-padded two-digit field, for example {\f1{}date -d 1may '+%B %d'} will print {\f1{}May 01}.\par
\par
\pard\fi-720\li720\tx144\tx720{}\tab{}{\f2\'B7}\tab{}To print a date without the leading zero for one-digit days of the month, you can use the (GNU extension) {\f1{}-} modifier to suppress the padding altogether.  {\par
\pard\keep\li1440\f1{}date -d=1may '+%B %-d'\par
\pard\li720\f0{}}\par
\pard\fi-720\li720\tx144\tx720{}\tab{}{\f2\'B7}\tab{}To print the current date and time in the format required by many non-GNU versions of {\f1{}date} when setting the system clock: {\par
\pard\keep\li1440\f1{}date +%m%d%H%M%Y.%S\par
\pard\li720\f0{}}\par
\pard\fi-720\li720\tx144\tx720{}\tab{}{\f2\'B7}\tab{}To set the system clock forward by two minutes: {\par
\pard\keep\li1440\f1{}date --set='+2 minutes'\par
\pard\li720\f0{}}\par
\pard\fi-720\li720\tx144\tx720{}\tab{}{\f2\'B7}\tab{}To print the date in the format specified by RFC-822, use {\f1{}date --rfc}.  I just did and saw this:\par
\par
{\pard\keep\li1440\f1{}Mon, 25 Mar 1996 23:34:17 -0600\par
\pard\li720\f0{}}\par
\pard{}}\par
\page\pard Node: {\b uname invocation}, \keepn Next: {\uldb hostname invocation}{\v hostname_invocation}, Prev: {\uldb date invocation}{\v date_invocation}, Up: {\uldb System context}{\v System_context}\line
K{\footnote K uname invocation}
#{\footnote uname_invocation}
${\footnote {\f1{}\pard{}uname}: Print system information}\par
\pard{\fs24\b {\f1{}uname}: Print system information}\par
\par
\pard{}{K{\footnote K uname}}{K{\footnote K print system information}}{K{\footnote K system information, printing}} {\f1{}uname} prints information about the machine and operating system it is run on.  If no options are given, {\f1{}uname} acts as if the {\f1{}-s} option were given. Synopsis:\par
\par
{\pard\keep\li720\f1{}uname [{\i option}]...\par
\pard\f0{}}\par
\pard{}If multiple options or {\f1{}-a} are given, the selected information is printed in this order:\par
\par
{{\i \pard\li720\f1{}sysname} {\i nodename} {\i release} {\i osversion} {\i machine}\par
\pard\f0{}}\par
\pard{}The {\i osversion}, at least, may well be multiple words.  For example:\par
\par
{\pard\keep\li720\f1{}uname -a\line
=> Linux hayley 1.0.4 #3 Thu May 12 18:06:34 1994 i486\par
\pard\f0{}}\par
\pard{}The program accepts the following options.  Also see {\uldb Common options}{\v Common_options}.\par
\par
{\pard{}{\f1{}-a}\par
\pard{}{\f1{}--all}\par
\pard\li720{}{K{\footnote K -a}}{K{\footnote K -all}}Print all of the below information.\par
\par
\pard{}{\f1{}-m}\par
\pard{}{\f1{}--machine}\par
\pard\li720{}{K{\footnote K -m}}{K{\footnote K -machine}}{K{\footnote K machine type}}{K{\footnote K hardware type}}Print the machine (hardware) type.\par
\par
\pard{}{\f1{}-n}\par
\pard{}{\f1{}--nodename}\par
\pard\li720{}{K{\footnote K -n}}{K{\footnote K -nodename}}{K{\footnote K hostname}}{K{\footnote K node name}}{K{\footnote K network node name}}Print the machine's network node hostname.\par
\par
\pard{}{\f1{}-p}\par
\pard{}{\f1{}--processor}\par
\pard\li720{}{K{\footnote K -p}}{K{\footnote K -processor}}{K{\footnote K host processor type}}Print the machine's processor type\par
\par
\pard{}{\f1{}-r}\par
\pard{}{\f1{}--release}\par
\pard\li720{}{K{\footnote K -r}}{K{\footnote K -release}}{K{\footnote K operating system release}}{K{\footnote K release of operating system}}Print the operating system release.\par
\par
\pard{}{\f1{}-s}\par
\pard{}{\f1{}--sysname}\par
\pard\li720{}{K{\footnote K -s}}{K{\footnote K -sysname}}{K{\footnote K operating system name}}{K{\footnote K name of operating system}}Print the operating system name.\par
\par
\pard{}{\f1{}-v}\par
\pard\li720{}{K{\footnote K -v}}{K{\footnote K operating system version}}{K{\footnote K version of operating system}}Print the operating system version.\par
\par
\pard{}}\par
\page\pard Node: {\b hostname invocation}, \keepn Next: {\uldb }{\v }, Prev: {\uldb uname invocation}{\v uname_invocation}, Up: {\uldb System context}{\v System_context}\line
K{\footnote K hostname invocation}
#{\footnote hostname_invocation}
${\footnote {\f1{}\pard{}hostname}: Print or set system name}\par
\pard{\fs24\b {\f1{}hostname}: Print or set system name}\par
\par
\pard{}{K{\footnote K hostname}}{K{\footnote K setting the hostname}}{K{\footnote K printing the hostname}}{K{\footnote K system name, printing}}{K{\footnote K appropriate privileges}} With no arguments, {\f1{}hostname} prints the name of the current host system.  With one argument, it sets the current host name to the specified string.  You must have appropriate privileges to set the host name. Synopsis:\par
\par
{\pard\keep\li720\f1{}hostname [{\i name}]\par
\pard\f0{}}\par
\pard{}The only options are {\f1{}--help} and {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\page\pard Node: {\b Modified command invocation}, \keepn Next: {\uldb Delaying}{\v Delaying}, Prev: {\uldb System context}{\v System_context}, Up: {\uldb Top}{\v Top}\line
K{\footnote K Modified command invocation}
#{\footnote Modified_command_invocation}
${\footnote \pard{}Modified command invocation}\par
\pard{\fs24\b Modified command invocation}\par
\par
\pard{}{K{\footnote K modified command invocation}}{K{\footnote K invocation of commands, modified}}{K{\footnote K commands for invoking other commands}} This section describes commands that run other commands in some context different than the current one: a modified environment, as a different user, etc.\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb chroot invocation}{\v chroot_invocation}\tab Modify the root directory.\par
{\uldb env invocation}{\v env_invocation}\tab Modify environment variables.\par
{\uldb nice invocation}{\v nice_invocation}\tab Modify scheduling priority.\par
{\uldb nohup invocation}{\v nohup_invocation}\tab Immunize to hangups.\par
{\uldb su invocation}{\v su_invocation}\tab Modify user and group id.\par
\pard{}}\par
\page\pard Node: {\b chroot invocation}, \keepn Next: {\uldb env invocation}{\v env_invocation}, Prev: {\uldb }{\v }, Up: {\uldb Modified command invocation}{\v Modified_command_invocation}\line
K{\footnote K chroot invocation}
#{\footnote chroot_invocation}
${\footnote {\f1{}\pard{}chroot}: Run a command with a different root directory}\par
\pard{\fs24\b {\f1{}chroot}: Run a command with a different root directory}\par
\par
\pard{}{K{\footnote K chroot}}{K{\footnote K running a program in a specified root directory}}{K{\footnote K root directory, running a program in a specified}} {\f1{}chroot} runs a command with a specified root directory.  On many systems, only the super-user can do this.  Synopses:\par
\par
{\pard\keep\li720\f1{}chroot {\i newroot} [{\i command} [{\i args}]...]\line
chroot {\i option}\par
\pard\f0{}}\par
\pard{}Ordinarily, filenames are looked up starting at the root of the directory structure, i.e., {\f1{}/}.  {\f1{}chroot} changes the root to the directory {\i newroot} (which must exist) and then runs {\i command} with optional {\i args}.  If {\i command} is not specified, the default is the value of the {\f1{}SHELL} environment variable or {\f1{}/bin/sh} if not set, invoked with the {\f1{}-i} option.\par
\par
\pard{}The only options are {\f1{}--help} and {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\page\pard Node: {\b env invocation}, \keepn Next: {\uldb nice invocation}{\v nice_invocation}, Prev: {\uldb chroot invocation}{\v chroot_invocation}, Up: {\uldb Modified command invocation}{\v Modified_command_invocation}\line
K{\footnote K env invocation}
#{\footnote env_invocation}
${\footnote {\f1{}\pard{}env}: Run a command in a modified environment}\par
\pard{\fs24\b {\f1{}env}: Run a command in a modified environment}\par
\par
\pard{}{K{\footnote K env}}{K{\footnote K environment, running a program in a modified}}{K{\footnote K modified environment, running a program in a}}{K{\footnote K running a program in a modified environment}} {\f1{}env} runs a command with a modified environment.  Synopses:\par
\par
{\pard\keep\li720\f1{}env [{\i option}]... [{\i name}={\i value}]... [{\i command} [{\i args}]...]\line
env\par
\pard\f0{}}\par
\pard{}Arguments of the form {\f1{}{\i variable}={\i value}} set the environment variable {\i variable} to value {\i value}.  {\i value} may be empty ({\f1{}{\i variable}=}).  Setting a variable to an empty value is different from unsetting it.\par
\par
\pard{}{K{\footnote K PATH}}The first remaining argument specifies the program name to invoke; it is searched for according to the {\f1{}PATH} environment variable.  Any remaining arguments are passed as arguments to that program.\par
\par
\pard{}{K{\footnote K environment, printing}} If no command name is specified following the environment specifications, the resulting environment is printed.  This is like specifying a command name of {\f1{}printenv}.\par
\par
\pard{}The program accepts the following options.  Also see {\uldb Common options}{\v Common_options}.\par
\par
{\pard{}{\f1{}-u {\i name}}\par
\pard{}{\f1{}--unset={\i name}}\par
\pard\li720{}{K{\footnote K -u}}{K{\footnote K -unset}}Remove variable {\i name} from the environment, if it was in the environment.\par
\par
\pard{}{\f1{}-}\par
\pard{}{\f1{}-i}\par
\pard{}{\f1{}--ignore-environment}\par
\pard\li720{}{K{\footnote K -}}{K{\footnote K -i}}{K{\footnote K -ignore-environment}}Start with an empty environment, ignoring the inherited environment.\par
\par
\pard{}}\par
\page\pard Node: {\b nice invocation}, \keepn Next: {\uldb nohup invocation}{\v nohup_invocation}, Prev: {\uldb env invocation}{\v env_invocation}, Up: {\uldb Modified command invocation}{\v Modified_command_invocation}\line
K{\footnote K nice invocation}
#{\footnote nice_invocation}
${\footnote {\f1{}\pard{}nice}: Run a command with modified scheduling priority}\par
\pard{\fs24\b {\f1{}nice}: Run a command with modified scheduling priority}\par
\par
\pard{}{K{\footnote K nice}}{K{\footnote K modifying scheduling priority}}{K{\footnote K scheduling priority, modifying}}{K{\footnote K priority, modifying}}{K{\footnote K appropriate privileges}} {\f1{}nice} prints or modifies the scheduling priority of a job.  Synopsis:\par
\par
{\pard\keep\li720\f1{}nice [{\i option}]... [{\i command} [{\i arg}]...]\par
\pard\f0{}}\par
\pard{}If no arguments are given, {\f1{}nice} prints the current scheduling priority, which it inherited.  Otherwise, {\f1{}nice} runs the given {\i command} with its scheduling priority adjusted.  If no {\i adjustment} is given, the priority of the command is incremented by 10.  You must have appropriate privileges to specify a negative adjustment.  The priority can be adjusted by {\f1{}nice} over the range of -20 (the highest priority) to 19 (the lowest).\par
\par
\pard{}{K{\footnote K conflicts with shell built-ins}}{K{\footnote K built-in shell commands, conflicts with}}Because most shells have a built-in command by the same name, using the unadorned command name in a script or interactively may get you different functionality than that described here.\par
\par
\pard{}The program accepts the following option.  Also see {\uldb Common options}{\v Common_options}.\par
\par
{\pard{}{\f1{}-n {\i adjustment}}\par
\pard{}{\f1{}-{\i adjustment}}\par
\pard{}{\f1{}--adjustment={\i adjustment}}\par
\pard\li720{}{K{\footnote K -n}}{K{\footnote K -adjustment}}{K{\footnote K -{\i adjustment}}}Add {\i adjustment} instead of 10 to the command's priority.\par
\pard{}}\par
\page\pard Node: {\b nohup invocation}, \keepn Next: {\uldb su invocation}{\v su_invocation}, Prev: {\uldb nice invocation}{\v nice_invocation}, Up: {\uldb Modified command invocation}{\v Modified_command_invocation}\line
K{\footnote K nohup invocation}
#{\footnote nohup_invocation}
${\footnote {\f1{}\pard{}nohup}: Run a command immune to hangups}\par
\pard{\fs24\b {\f1{}nohup}: Run a command immune to hangups}\par
\par
\pard{}{K{\footnote K nohup}}{K{\footnote K hangups, immunity to}}{K{\footnote K immunity to hangups}}{K{\footnote K logging out and continuing to run}} {K{\footnote K nohup.out}}{\f1{}nohup} runs the given {\i command} with hangup signals ignored, so that the command can continue running in the background after you log out. Synopsis:\par
\par
{\pard\keep\li720\f1{}nohup {\i command} [{\i arg}]...\par
\pard\f0{}}\par
\pard{}{K{\footnote K nohup.out}}{\f1{}nohup} increases the scheduling priority of {\i command} by 5, so it has a slightly smaller change to run.  If standard output is a terminal, it and standard error are redirected so that they are appended to the file {\f1{}nohup.out}; if that cannot be written to, they are appended to the file {\f1{}$HOME/nohup.out}.  If that cannot be written to, the command is not run.\par
\par
\pard{}If {\f1{}nohup} creates either {\f1{}nohup.out} or {\f1{}$HOME/nohup.out}, it creates it with no "group" or "other" access permissions.  It does not change the permissions if the output file already existed.\par
\par
{\f1{}\pard{}nohup} does not automatically put the command it runs in the background; you must do that explicitly, by ending the command line with an {\f1{}&}.\par
\par
\pard{}The only options are {\f1{}--help} and {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\page\pard Node: {\b su invocation}, \keepn Next: {\uldb }{\v }, Prev: {\uldb nohup invocation}{\v nohup_invocation}, Up: {\uldb Modified command invocation}{\v Modified_command_invocation}\line
K{\footnote K su invocation}
#{\footnote su_invocation}
${\footnote {\f1{}\pard{}su}: Run a command with substitute user and group id}\par
\pard{\fs24\b {\f1{}su}: Run a command with substitute user and group id}\par
\par
\pard{}{K{\footnote K su}}{K{\footnote K substitute user and group ids}}{K{\footnote K user id, switching}}{K{\footnote K super-user, becoming}}{K{\footnote K root, becoming}} {\f1{}su} allows one user to temporarily become another user.  It runs a command (often an interactive shell) with the real and effective user id, group id, and supplemental groups of a given {\i user}. Synopsis:\par
\par
{\pard\keep\li720\f1{}su [{\i option}]... [{\i user} [{\i arg}]...]\par
\pard\f0{}}\par
\pard{}{K{\footnote K passwd entry, and {\f1{}su} shell}}{K{\footnote K /bin/sh}}{K{\footnote K /etc/passwd}}If no {\i user} is given, the default is {\f1{}root}, the super-user.  The shell to use is taken from {\i user}'s {\f1{}passwd} entry, or {\f1{}/bin/sh} if none is specified there.  If {\i user} has a password, {\f1{}su} prompts for the password unless run by a user with effective user id of zero (the super-user).\par
\par
\pard{}{K{\footnote K HOME}}{K{\footnote K SHELL}}{K{\footnote K USER}}{K{\footnote K LOGNAME}}{K{\footnote K login shell}}By default, {\f1{}su} does not change the current directory.  It sets the environment variables {\f1{}HOME} and {\f1{}SHELL} from the password entry for {\i user}, and if {\i user} is not the super-user, sets {\f1{}USER} and {\f1{}LOGNAME} to {\i user}.  By default, the shell is not a login shell.\par
\par
\pard{}Any additional {\i arg}s are passed as additional arguments to the shell.\par
\par
\pard{}{K{\footnote K {\f1{}-su}}}GNU {\f1{}su} does not treat {\f1{}/bin/sh} or any other shells specially (e.g., by setting {\f1{}argv[0]} to {\f1{}-su}, passing {\f1{}-c} only to certain shells, etc.).\par
\par
\pard{}{K{\footnote K syslog}}{\f1{}su} can optionally be compiled to use {\f1{}syslog} to report failed, and optionally successful, {\f1{}su} attempts.  (If the system supports {\f1{}syslog}.)  However, GNU {\f1{}su} does not check if the user is a member of the {\f1{}wheel} group; see below.\par
\par
\pard{}The program accepts the following options.  Also see {\uldb Common options}{\v Common_options}.\par
\par
{\pard{}{\f1{}-c {\i command}}\par
\pard{}{\f1{}--command={\i command}}\par
\pard\li720{}{K{\footnote K -c}}{K{\footnote K -command}}Pass {\i command}, a single command line to run, to the shell with a {\f1{}-c} option instead of starting an interactive shell.\par
\par
\pard{}{\f1{}-f}\par
\pard{}{\f1{}--fast}\par
\pard\li720{}{K{\footnote K -f}}{K{\footnote K -fast}}{K{\footnote K .cshrc}}{K{\footnote K file name pattern expansion, disabled}}{K{\footnote K globbing, disabled}}Pass the {\f1{}-f} option to the shell.  This probably only makes sense if the shell run is {\f1{}csh} or {\f1{}tcsh}, for which the {\f1{}-f} option prevents reading the startup file ({\f1{}.cshrc}).  With Bourne-like shells, the {\f1{}-f} option disables file name pattern expansion (globbing), which is not likely to be useful.\par
\par
\pard{}{\f1{}-}\par
\pard{}{\f1{}-l}\par
\pard{}{\f1{}--login}\par
\pard\li720{}{K{\footnote K -}}{K{\footnote K -l}}{K{\footnote K -login}}{K{\footnote K TERM}}{K{\footnote K PATH}}{K{\footnote K login shell, creating}}Make the shell a login shell.  This means the following.  Unset all environment variables except {\f1{}TERM}, {\f1{}HOME}, and {\f1{}SHELL} (which are set as described above), and {\f1{}USER} and {\f1{}LOGNAME} (which are set, even for the super-user, as described above), and set {\f1{}PATH} to a compiled-in default value.  Change to {\i user}'s home directory.  Prepend {\f1{}-} to the shell's name, intended to make it read its login startup file(s).\par
\par
\pard{}{\f1{}-m}\par
\pard{}{\f1{}-p}\par
\pard{}{\f1{}--preserve-environment}\par
\pard\li720{}{K{\footnote K -m}}{K{\footnote K -p}}{K{\footnote K -preserve-environment}}{K{\footnote K environment, preserving}}{K{\footnote K /etc/shells}}{K{\footnote K restricted shell}}Do not change the environment variables {\f1{}HOME}, {\f1{}USER}, {\f1{}LOGNAME}, or {\f1{}SHELL}.  Run the shell given in the environment variable {\f1{}SHELL} instead of the shell from {\i user}'s passwd entry, unless the user running {\f1{}su} is not the superuser and {\i user}'s shell is restricted.  A \'A2restricted shell\'A2 is one that is not listed in the file {\f1{}/etc/shells}, or in a compiled-in list if that file does not exist.  Parts of what this option does can be overridden by {\f1{}--login} and {\f1{}--shell}.\par
\par
\pard{}{\f1{}-s {\i shell}}\par
\pard{}{\f1{}--shell={\i shell}}\par
\pard\li720{}{K{\footnote K -s}}{K{\footnote K -shell}}Run {\i shell} instead of the shell from {\i user}'s passwd entry, unless the user running {\f1{}su} is not the superuser and {\i user}'s shell is restricted (see {\f1{}-m} just above).\par
\par
\pard{}}\par
\pard{}{K{\footnote K wheel group, not supported}}{K{\footnote K group wheel, not supported}}{K{\footnote K fascism}}\par
\par
\pard{\b Why GNU {\f1{}su} does not support the {\f1{}wheel} group}\par
\par
\pard{}(This section is by Richard Stallman.)\par
\par
\pard{}{K{\footnote K Twenex}}{K{\footnote K MIT AI lab}}Sometimes a few of the users try to hold total power over all the rest.  For example, in 1984, a few users at the MIT AI lab decided to seize power by changing the operator password on the Twenex system and keeping it secret from everyone else.  (I was able to thwart this coup and give power back to the users by patching the kernel, but I wouldn't know how to do that in Unix.)\par
\par
\pard{}However, occasionally the rulers do tell someone.  Under the usual {\f1{}su} mechanism, once someone learns the root password who sympathizes with the ordinary users, he or she can tell the rest.  The "wheel group" feature would make this impossible, and thus cement the power of the rulers.\par
\par
\pard{}I'm on the side of the masses, not that of the rulers.  If you are used to supporting the bosses and sysadmins in whatever they do, you might find this idea strange at first.\par
\par
\page\pard Node: {\b Delaying}, \keepn Next: {\uldb Numeric operations}{\v Numeric_operations}, Prev: {\uldb Modified command invocation}{\v Modified_command_invocation}, Up: {\uldb Top}{\v Top}\line
K{\footnote K Delaying}
#{\footnote Delaying}
${\footnote \pard{}Delaying}\par
\pard{\fs24\b Delaying}\par
\par
\pard{}{K{\footnote K delaying commands}}{K{\footnote K commands for delaying}}\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb sleep invocation}{\v sleep_invocation}\tab Delay for a specified time.\par
\pard{}}\par
\page\pard Node: {\b sleep invocation}, \keepn Next: {\uldb }{\v }, Prev: {\uldb }{\v }, Up: {\uldb Delaying}{\v Delaying}\line
K{\footnote K sleep invocation}
#{\footnote sleep_invocation}
${\footnote {\f1{}\pard{}sleep}: Delay for a specified time}\par
\pard{\fs24\b {\f1{}sleep}: Delay for a specified time}\par
\par
\pard{}{K{\footnote K sleep}}{K{\footnote K delay for a specified time}} {\f1{}sleep} pauses for an amount of time specified by the sum of the values of the command line arguments.  Synopsis:\par
\par
{\pard\keep\li720\f1{}sleep [{\i number}[smhd]]...\par
\pard\f0{}}\par
\pard{}{K{\footnote K time units}}Each argument is a number followed by an optional unit; the default is seconds.  The units are:\par
\par
{\pard{}{\f1{}s}\par
\pard\li720{}seconds\par
\par
\pard{}{\f1{}m}\par
\pard\li720{}minutes\par
\par
\pard{}{\f1{}h}\par
\pard\li720{}hours\par
\par
\pard{}{\f1{}d}\par
\pard\li720{}days\par
\pard{}}\par
\pard{}The only options are {\f1{}--help} and {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\page\pard Node: {\b Numeric operations}, \keepn Next: {\uldb Index}{\v Index}, Prev: {\uldb Delaying}{\v Delaying}, Up: {\uldb Top}{\v Top}\line
K{\footnote K Numeric operations}
#{\footnote Numeric_operations}
${\footnote \pard{}Numeric operations}\par
\pard{\fs24\b Numeric operations}\par
\par
\pard{}{K{\footnote K numeric operations}}These programs do numerically-related operations.\par
\par
{\par
\pard\keep\fi-2880\li2880\tx2880{}{\uldb factor invocation}{\v factor_invocation}\tab Show factors of numbers.\par
{\uldb seq invocation}{\v seq_invocation}\tab Print sequences of numbers.\par
\pard{}}\par
\page\pard Node: {\b factor invocation}, \keepn Next: {\uldb seq invocation}{\v seq_invocation}, Prev: {\uldb }{\v }, Up: {\uldb Numeric operations}{\v Numeric_operations}\line
K{\footnote K factor invocation}
#{\footnote factor_invocation}
${\footnote {\f1{}\pard{}factor}: Print prime factors}\par
\pard{\fs24\b {\f1{}factor}: Print prime factors}\par
\par
\pard{}{K{\footnote K factor}}{K{\footnote K prime factors}} {\f1{}factor} prints prime factors.  Synopses:\par
\par
{\pard\keep\li720\f1{}factor [{\i number}]...\line
factor {\i option}\par
\pard\f0{}}\par
\pard{}If no {\i number} is specified on the command line, {\f1{}factor} reads numbers from standard input, delimited by newlines, tabs, or spaces.\par
\par
\pard{}The only options are {\f1{}--help} and {\f1{}--version}.  See {\uldb Common options}{\v Common_options}.\par
\par
\page\pard Node: {\b seq invocation}, \keepn Next: {\uldb }{\v }, Prev: {\uldb factor invocation}{\v factor_invocation}, Up: {\uldb Numeric operations}{\v Numeric_operations}\line
K{\footnote K seq invocation}
#{\footnote seq_invocation}
${\footnote {\f1{}\pard{}seq}: Print numeric sequences}\par
\pard{\fs24\b {\f1{}seq}: Print numeric sequences}\par
\par
\pard{}{K{\footnote K seq}}{K{\footnote K numeric sequences}}{K{\footnote K sequence of numbers}} {\f1{}seq} prints a sequence of numbers to standard output.  Synopses:\par
\par
{\pard\keep\li720\f1{}seq [{\i option}]... [{\i first} [{\i step}]] {\i last}...\par
\pard\f0{}}\par
{\f1{}\pard{}seq} prints the numbers from {\i first} to {\i last} by {\i step}.  By default, {\i first} and {\i step} are both 1, and each number is printed on its own line.  All numbers can be reals, not just integers.\par
\par
\pard{}The program accepts the following options.  Also see {\uldb Common options}{\v Common_options}.\par
\par
{\pard{}{\f1{}-f {\i format}}\par
\pard{}{\f1{}--format={\i format}}\par
\pard\li720{}{K{\footnote K -f {\i format}}}{K{\footnote K -format={\i format}}}{K{\footnote K formatting of numbers in {\f1{}seq}}}Print all numbers using {\i format}; default {\f1{}%g}.  {\i format} must contain exactly one of the standarding float output formats {\f1{}%e}, {\f1{}%f}, or {\f1{}%g}.\par
\par
\pard{}{\f1{}-s {\i string}}\par
\pard{}{\f1{}--separator={\i string}}\par
\pard\li720{}{K{\footnote K separator for numbers in {\f1{}seq}}}Separate numbers with {\i string}; default is a newline.  The output always terminates with a newline.\par
\par
\pard{}{\f1{}-w}\par
\pard{}{\f1{}--equal-width}\par
\pard\li720{}Print all numbers with the same width, by padding with leading zeroes.  (To have other kinds of padding, use {\f1{}--format}).\par
\par
\pard{}}\par
\page\pard Node: {\b Index}, \keepn Next: {\uldb }{\v }, Prev: {\uldb Numeric operations}{\v Numeric_operations}, Up: {\uldb Top}{\v Top}\line
K{\footnote K Index}
#{\footnote Index}
${\footnote \pard{}Index}\par
\pard{\fs24\b Index}\par
\par
{\fi-2880\li2880\tx2880!:\tab {\uldb Connectives for test}{\v Connectives_for_test}.\par}{\fi-2880\li2880\tx2880!=:\tab {\uldb String tests}{\v String_tests}.\par}{\fi-2880\li2880\tx2880%:\tab {\uldb Numeric expressions}{\v Numeric_expressions}.\par}{\fi-2880\li2880\tx2880&:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880*:\tab {\uldb Numeric expressions}{\v Numeric_expressions}.\par}{\fi-2880\li2880\tx2880+:\tab {\uldb Numeric expressions}{\v Numeric_expressions}.\par}{\fi-2880\li2880\tx2880- <1>:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880- <2>:\tab {\uldb env invocation}{\v env_invocation}.\par}{\fi-2880\li2880\tx2880-:\tab {\uldb Numeric expressions}{\v Numeric_expressions}.\par}{\fi-2880\li2880\tx2880-a <1>:\tab {\uldb stty invocation}{\v stty_invocation}.\par}{\fi-2880\li2880\tx2880-a <2>:\tab {\uldb Connectives for test}{\v Connectives_for_test}.\par}{\fi-2880\li2880\tx2880-a <3>:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880-a:\tab {\uldb tee invocation}{\v tee_invocation}.\par}{\fi-2880\li2880\tx2880-adjustment:\tab {\uldb nice invocation}{\v nice_invocation}.\par}{\fi-2880\li2880\tx2880-all <1>:\tab {\uldb stty invocation}{\v stty_invocation}.\par}{\fi-2880\li2880\tx2880-all:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880-append:\tab {\uldb tee invocation}{\v tee_invocation}.\par}{\fi-2880\li2880\tx2880-b:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880-c <1>:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880-c:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880-command:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880-count:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880-d <1>:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880-d:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880-date:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880-e <1>:\tab {\uldb echo invocation}{\v echo_invocation}.\par}{\fi-2880\li2880\tx2880-e:\tab {\uldb File characteristics tests}{\v File_characteristics_tests}.\par}{\fi-2880\li2880\tx2880-ef:\tab {\uldb File characteristics tests}{\v File_characteristics_tests}.\par}{\fi-2880\li2880\tx2880-eq:\tab {\uldb Numeric tests}{\v Numeric_tests}.\par}{\fi-2880\li2880\tx2880-f <1>:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880-f <2>:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880-f:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880-f {\i format}:\tab {\uldb seq invocation}{\v seq_invocation}.\par}{\fi-2880\li2880\tx2880-fast:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880-file:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880-format={\i format}:\tab {\uldb seq invocation}{\v seq_invocation}.\par}{\fi-2880\li2880\tx2880-G:\tab {\uldb id invocation}{\v id_invocation}.\par}{\fi-2880\li2880\tx2880-g <1>:\tab {\uldb id invocation}{\v id_invocation}.\par}{\fi-2880\li2880\tx2880-g:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880-G:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880-g:\tab {\uldb stty invocation}{\v stty_invocation}.\par}{\fi-2880\li2880\tx2880-ge:\tab {\uldb Numeric tests}{\v Numeric_tests}.\par}{\fi-2880\li2880\tx2880-group:\tab {\uldb id invocation}{\v id_invocation}.\par}{\fi-2880\li2880\tx2880-groups:\tab {\uldb id invocation}{\v id_invocation}.\par}{\fi-2880\li2880\tx2880-gt:\tab {\uldb Numeric tests}{\v Numeric_tests}.\par}{\fi-2880\li2880\tx2880-H:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880-h:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880-heading:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880-help:\tab {\uldb Common options}{\v Common_options}.\par}{\fi-2880\li2880\tx2880-i <1>:\tab {\uldb tee invocation}{\v tee_invocation}.\par}{\fi-2880\li2880\tx2880-i <2>:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880-i:\tab {\uldb env invocation}{\v env_invocation}.\par}{\fi-2880\li2880\tx2880-idle:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880-ignore-environment:\tab {\uldb env invocation}{\v env_invocation}.\par}{\fi-2880\li2880\tx2880-ignore-interrupts:\tab {\uldb tee invocation}{\v tee_invocation}.\par}{\fi-2880\li2880\tx2880-k:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880-l:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880-L:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880-le:\tab {\uldb Numeric tests}{\v Numeric_tests}.\par}{\fi-2880\li2880\tx2880-login:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880-lt:\tab {\uldb Numeric tests}{\v Numeric_tests}.\par}{\fi-2880\li2880\tx2880-m <1>:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880-m <2>:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880-m:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880-machine:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880-mesg:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880-message:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880-n <1>:\tab {\uldb id invocation}{\v id_invocation}.\par}{\fi-2880\li2880\tx2880-n <2>:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880-n <3>:\tab {\uldb nice invocation}{\v nice_invocation}.\par}{\fi-2880\li2880\tx2880-n <4>:\tab {\uldb String tests}{\v String_tests}.\par}{\fi-2880\li2880\tx2880-n:\tab {\uldb echo invocation}{\v echo_invocation}.\par}{\fi-2880\li2880\tx2880-name:\tab {\uldb id invocation}{\v id_invocation}.\par}{\fi-2880\li2880\tx2880-ne:\tab {\uldb Numeric tests}{\v Numeric_tests}.\par}{\fi-2880\li2880\tx2880-nodename:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880-nt:\tab {\uldb File characteristics tests}{\v File_characteristics_tests}.\par}{\fi-2880\li2880\tx2880-o:\tab {\uldb Connectives for test}{\v Connectives_for_test}.\par}{\fi-2880\li2880\tx2880-O:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880-ot:\tab {\uldb File characteristics tests}{\v File_characteristics_tests}.\par}{\fi-2880\li2880\tx2880-p <1>:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880-p <2>:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880-p <3>:\tab {\uldb pathchk invocation}{\v pathchk_invocation}.\par}{\fi-2880\li2880\tx2880-p:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880-portability:\tab {\uldb pathchk invocation}{\v pathchk_invocation}.\par}{\fi-2880\li2880\tx2880-preserve-environment:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880-processor:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880-q:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880-quiet:\tab {\uldb tty invocation}{\v tty_invocation}.\par}{\fi-2880\li2880\tx2880-r <1>:\tab {\uldb id invocation}{\v id_invocation}.\par}{\fi-2880\li2880\tx2880-r:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880-R:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880-r <1>:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880-r:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880-real:\tab {\uldb id invocation}{\v id_invocation}.\par}{\fi-2880\li2880\tx2880-reference:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880-release:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880-rfc-822:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880-s <1>:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880-s <2>:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880-s <3>:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880-s:\tab {\uldb File characteristics tests}{\v File_characteristics_tests}.\par}{\fi-2880\li2880\tx2880-S:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880-s <1>:\tab {\uldb tty invocation}{\v tty_invocation}.\par}{\fi-2880\li2880\tx2880-s:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880-save:\tab {\uldb stty invocation}{\v stty_invocation}.\par}{\fi-2880\li2880\tx2880-set:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880-shell:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880-silent:\tab {\uldb tty invocation}{\v tty_invocation}.\par}{\fi-2880\li2880\tx2880-sysname:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880-T:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880-t:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880-u <1>:\tab {\uldb env invocation}{\v env_invocation}.\par}{\fi-2880\li2880\tx2880-u <2>:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880-u <3>:\tab {\uldb id invocation}{\v id_invocation}.\par}{\fi-2880\li2880\tx2880-u <4>:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880-u:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880-universal:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880-unset:\tab {\uldb env invocation}{\v env_invocation}.\par}{\fi-2880\li2880\tx2880-user:\tab {\uldb id invocation}{\v id_invocation}.\par}{\fi-2880\li2880\tx2880-utc:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880-v:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880-version:\tab {\uldb Common options}{\v Common_options}.\par}{\fi-2880\li2880\tx2880-w <1>:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880-w:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880-writable:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880-x:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880-z:\tab {\uldb String tests}{\v String_tests}.\par}{\fi-2880\li2880\tx2880-{\i adjustment}:\tab {\uldb nice invocation}{\v nice_invocation}.\par}{\fi-2880\li2880\tx2880.cshrc:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880/:\tab {\uldb Numeric expressions}{\v Numeric_expressions}.\par}{\fi-2880\li2880\tx2880/bin/sh:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880/etc/passwd:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880/etc/shells:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880/etc/utmp <1>:\tab {\uldb logname invocation}{\v logname_invocation}.\par}{\fi-2880\li2880\tx2880/etc/utmp <2>:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880/etc/utmp:\tab {\uldb users invocation}{\v users_invocation}.\par}{\fi-2880\li2880\tx2880/etc/wtmp <1>:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880/etc/wtmp:\tab {\uldb users invocation}{\v users_invocation}.\par}{\fi-2880\li2880\tx2880<:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880<=:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880= <1>:\tab {\uldb String tests}{\v String_tests}.\par}{\fi-2880\li2880\tx2880=:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880==:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880>:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880>=:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880\'5C0ooo:\tab {\uldb printf invocation}{\v printf_invocation}.\par}{\fi-2880\li2880\tx2880\'5C0xhhh:\tab {\uldb printf invocation}{\v printf_invocation}.\par}{\fi-2880\li2880\tx2880\'5Cc:\tab {\uldb printf invocation}{\v printf_invocation}.\par}{\fi-2880\li2880\tx2880abbreviations for months:\tab {\uldb Calendar date item}{\v Calendar_date_item}.\par}{\fi-2880\li2880\tx2880access permission tests:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880addition:\tab {\uldb Numeric expressions}{\v Numeric_expressions}.\par}{\fi-2880\li2880\tx2880ago in date strings:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880Alaska-Hawaii Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880am i:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880am in date strings:\tab {\uldb Time of day item}{\v Time_of_day_item}.\par}{\fi-2880\li2880\tx2880and operator <1>:\tab {\uldb Connectives for test}{\v Connectives_for_test}.\par}{\fi-2880\li2880\tx2880and operator:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880appropriate privileges <1>:\tab {\uldb Setting the time}{\v Setting_the_time}.\par}{\fi-2880\li2880\tx2880appropriate privileges <2>:\tab {\uldb hostname invocation}{\v hostname_invocation}.\par}{\fi-2880\li2880\tx2880appropriate privileges:\tab {\uldb nice invocation}{\v nice_invocation}.\par}{\fi-2880\li2880\tx2880arbitrary date strings, parsing:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880arbitrary text, displaying:\tab {\uldb echo invocation}{\v echo_invocation}.\par}{\fi-2880\li2880\tx2880arithmetic tests:\tab {\uldb Numeric tests}{\v Numeric_tests}.\par}{\fi-2880\li2880\tx2880Atlantic Standard Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880authors of {\f1{}getdate}:\tab {\uldb Authors of getdate}{\v Authors_of_getdate}.\par}{\fi-2880\li2880\tx2880Azores Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880background jobs, stopping at terminal write:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880backslash escapes:\tab {\uldb echo invocation}{\v echo_invocation}.\par}{\fi-2880\li2880\tx2880Baghdad Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880basename:\tab {\uldb basename invocation}{\v basename_invocation}.\par}{\fi-2880\li2880\tx2880baud rate, setting:\tab {\uldb Special}{\v Special}.\par}{\fi-2880\li2880\tx2880beeping at input buffer full:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880beginning of time:\tab {\uldb Time directives}{\v Time_directives}.\par}{\fi-2880\li2880\tx2880beginning of time, for Unix:\tab {\uldb Date input formats}{\v Date_input_formats}.\par}{\fi-2880\li2880\tx2880Bellovin, Steven M.:\tab {\uldb Authors of getdate}{\v Authors_of_getdate}.\par}{\fi-2880\li2880\tx2880Berets, Jim:\tab {\uldb Authors of getdate}{\v Authors_of_getdate}.\par}{\fi-2880\li2880\tx2880Berry, K.:\tab {\uldb Authors of getdate}{\v Authors_of_getdate}.\par}{\fi-2880\li2880\tx2880Berry, Karl:\tab {\uldb Introduction}{\v Introduction}.\par}{\fi-2880\li2880\tx2880block special check:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880breaks, cause interrupts:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880breaks, ignoring:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880brkint:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880bs{\i n}:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880bugs, reporting:\tab {\uldb Introduction}{\v Introduction}.\par}{\fi-2880\li2880\tx2880built-in shell commands, conflicts with <1>:\tab {\uldb nice invocation}{\v nice_invocation}.\par}{\fi-2880\li2880\tx2880built-in shell commands, conflicts with <2>:\tab {\uldb test invocation}{\v test_invocation}.\par}{\fi-2880\li2880\tx2880built-in shell commands, conflicts with:\tab {\uldb pwd invocation}{\v pwd_invocation}.\par}{\fi-2880\li2880\tx2880C-s/C-q flow control:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880calendar date item:\tab {\uldb Calendar date item}{\v Calendar_date_item}.\par}{\fi-2880\li2880\tx2880case translation:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880case, ignored in dates:\tab {\uldb General date syntax}{\v General_date_syntax}.\par}{\fi-2880\li2880\tx2880cbreak:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880Central Alaska Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880Central European Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880Central Standard Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880change or print terminal settings:\tab {\uldb stty invocation}{\v stty_invocation}.\par}{\fi-2880\li2880\tx2880character size:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880character special check:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880characters, special:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880check file types:\tab {\uldb test invocation}{\v test_invocation}.\par}{\fi-2880\li2880\tx2880China Coast Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880chroot:\tab {\uldb chroot invocation}{\v chroot_invocation}.\par}{\fi-2880\li2880\tx2880clocal:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880cols:\tab {\uldb Special}{\v Special}.\par}{\fi-2880\li2880\tx2880columns:\tab {\uldb Special}{\v Special}.\par}{\fi-2880\li2880\tx2880COLUMNS:\tab {\uldb Special}{\v Special}.\par}{\fi-2880\li2880\tx2880combination settings:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880commands for delaying:\tab {\uldb Delaying}{\v Delaying}.\par}{\fi-2880\li2880\tx2880commands for exit status:\tab {\uldb Conditions}{\v Conditions}.\par}{\fi-2880\li2880\tx2880commands for file name manipulation:\tab {\uldb File name manipulation}{\v File_name_manipulation}.\par}{\fi-2880\li2880\tx2880commands for invoking other commands:\tab {\uldb Modified command invocation}{\v Modified_command_invocation}.\par}{\fi-2880\li2880\tx2880commands for printing text:\tab {\uldb Printing text}{\v Printing_text}.\par}{\fi-2880\li2880\tx2880commands for printing the working context:\tab {\uldb Working context}{\v Working_context}.\par}{\fi-2880\li2880\tx2880commands for printing user information:\tab {\uldb User information}{\v User_information}.\par}{\fi-2880\li2880\tx2880commands for redirection:\tab {\uldb Redirection}{\v Redirection}.\par}{\fi-2880\li2880\tx2880commands for system context:\tab {\uldb System context}{\v System_context}.\par}{\fi-2880\li2880\tx2880comments, in dates:\tab {\uldb General date syntax}{\v General_date_syntax}.\par}{\fi-2880\li2880\tx2880common options:\tab {\uldb Common options}{\v Common_options}.\par}{\fi-2880\li2880\tx2880compare values:\tab {\uldb test invocation}{\v test_invocation}.\par}{\fi-2880\li2880\tx2880comparison operators:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880conditions:\tab {\uldb Conditions}{\v Conditions}.\par}{\fi-2880\li2880\tx2880conflicts with shell built-ins <1>:\tab {\uldb test invocation}{\v test_invocation}.\par}{\fi-2880\li2880\tx2880conflicts with shell built-ins <2>:\tab {\uldb nice invocation}{\v nice_invocation}.\par}{\fi-2880\li2880\tx2880conflicts with shell built-ins:\tab {\uldb pwd invocation}{\v pwd_invocation}.\par}{\fi-2880\li2880\tx2880connectives, logical <1>:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880connectives, logical:\tab {\uldb Connectives for test}{\v Connectives_for_test}.\par}{\fi-2880\li2880\tx2880context, system:\tab {\uldb System context}{\v System_context}.\par}{\fi-2880\li2880\tx2880control characters, using {\f1{}^{\i c}}:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880control settings:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880cooked:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880coordinated universal time:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880cread:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880crt:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880crterase:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880crtkill:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880crtscts:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880cr{\i n}:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880cstopb:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880cs{\i n}:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880ctlecho:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880current working directory, printing:\tab {\uldb pwd invocation}{\v pwd_invocation}.\par}{\fi-2880\li2880\tx2880date:\tab {\uldb date invocation}{\v date_invocation}.\par}{\fi-2880\li2880\tx2880date directives:\tab {\uldb Date directives}{\v Date_directives}.\par}{\fi-2880\li2880\tx2880date format, ISO 8601:\tab {\uldb Calendar date item}{\v Calendar_date_item}.\par}{\fi-2880\li2880\tx2880date input formats:\tab {\uldb Date input formats}{\v Date_input_formats}.\par}{\fi-2880\li2880\tx2880date strings, parsing:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880day in date strings:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880day of week item:\tab {\uldb Day of week item}{\v Day_of_week_item}.\par}{\fi-2880\li2880\tx2880daylight savings time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880dec:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880decctlq:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880delay for a specified time:\tab {\uldb sleep invocation}{\v sleep_invocation}.\par}{\fi-2880\li2880\tx2880delaying commands:\tab {\uldb Delaying}{\v Delaying}.\par}{\fi-2880\li2880\tx2880destinations, multiple output:\tab {\uldb tee invocation}{\v tee_invocation}.\par}{\fi-2880\li2880\tx2880directives, date:\tab {\uldb Date directives}{\v Date_directives}.\par}{\fi-2880\li2880\tx2880directives, literal:\tab {\uldb Literal directives}{\v Literal_directives}.\par}{\fi-2880\li2880\tx2880directives, time:\tab {\uldb Time directives}{\v Time_directives}.\par}{\fi-2880\li2880\tx2880directory check:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880directory components, printing:\tab {\uldb dirname invocation}{\v dirname_invocation}.\par}{\fi-2880\li2880\tx2880directory, stripping from file names:\tab {\uldb basename invocation}{\v basename_invocation}.\par}{\fi-2880\li2880\tx2880dirname:\tab {\uldb dirname invocation}{\v dirname_invocation}.\par}{\fi-2880\li2880\tx2880disabling special characters:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880displacement of dates:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880displaying text:\tab {\uldb echo invocation}{\v echo_invocation}.\par}{\fi-2880\li2880\tx2880division:\tab {\uldb Numeric expressions}{\v Numeric_expressions}.\par}{\fi-2880\li2880\tx2880do nothing, successfully:\tab {\uldb true invocation}{\v true_invocation}.\par}{\fi-2880\li2880\tx2880dsusp:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880East Australian Standard Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880Eastern European Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880Eastern Standard Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880echo <1>:\tab {\uldb echo invocation}{\v echo_invocation}.\par}{\fi-2880\li2880\tx2880echo:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880echoctl:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880echoe:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880echok:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880echoke:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880echonl:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880echoprt:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880effective uid and gid, printing:\tab {\uldb id invocation}{\v id_invocation}.\par}{\fi-2880\li2880\tx2880effective UID, printing:\tab {\uldb whoami invocation}{\v whoami_invocation}.\par}{\fi-2880\li2880\tx2880eight-bit characters <1>:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880eight-bit characters:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880eight-bit input:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880ek:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880env:\tab {\uldb env invocation}{\v env_invocation}.\par}{\fi-2880\li2880\tx2880environment variables, printing:\tab {\uldb printenv invocation}{\v printenv_invocation}.\par}{\fi-2880\li2880\tx2880environment, preserving:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880environment, printing:\tab {\uldb env invocation}{\v env_invocation}.\par}{\fi-2880\li2880\tx2880environment, running a program in a modified:\tab {\uldb env invocation}{\v env_invocation}.\par}{\fi-2880\li2880\tx2880eof:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880eol:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880eol2:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880epoch, for Unix:\tab {\uldb Date input formats}{\v Date_input_formats}.\par}{\fi-2880\li2880\tx2880epoch, seconds since:\tab {\uldb Time directives}{\v Time_directives}.\par}{\fi-2880\li2880\tx2880equal string check:\tab {\uldb String tests}{\v String_tests}.\par}{\fi-2880\li2880\tx2880erase:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880evaluation of expressions:\tab {\uldb expr invocation}{\v expr_invocation}.\par}{\fi-2880\li2880\tx2880even parity:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880evenp:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880examples of {\f1{}date}:\tab {\uldb Examples of date}{\v Examples_of_date}.\par}{\fi-2880\li2880\tx2880examples of {\f1{}expr}:\tab {\uldb Examples of expr}{\v Examples_of_expr}.\par}{\fi-2880\li2880\tx2880executable file check:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880existence-of-file check:\tab {\uldb File characteristics tests}{\v File_characteristics_tests}.\par}{\fi-2880\li2880\tx2880exit status commands:\tab {\uldb Conditions}{\v Conditions}.\par}{\fi-2880\li2880\tx2880exit status of {\f1{}expr}:\tab {\uldb expr invocation}{\v expr_invocation}.\par}{\fi-2880\li2880\tx2880exit status of {\f1{}pathchk}:\tab {\uldb pathchk invocation}{\v pathchk_invocation}.\par}{\fi-2880\li2880\tx2880exit status of {\f1{}printenv}:\tab {\uldb printenv invocation}{\v printenv_invocation}.\par}{\fi-2880\li2880\tx2880exit status of {\f1{}true} <1>:\tab {\uldb false invocation}{\v false_invocation}.\par}{\fi-2880\li2880\tx2880exit status of {\f1{}true}:\tab {\uldb true invocation}{\v true_invocation}.\par}{\fi-2880\li2880\tx2880exit status of {\f1{}tty}:\tab {\uldb tty invocation}{\v tty_invocation}.\par}{\fi-2880\li2880\tx2880expr:\tab {\uldb expr invocation}{\v expr_invocation}.\par}{\fi-2880\li2880\tx2880expression evaluation <1>:\tab {\uldb expr invocation}{\v expr_invocation}.\par}{\fi-2880\li2880\tx2880expression evaluation:\tab {\uldb test invocation}{\v test_invocation}.\par}{\fi-2880\li2880\tx2880expressions, numeric:\tab {\uldb Numeric expressions}{\v Numeric_expressions}.\par}{\fi-2880\li2880\tx2880expressions, string:\tab {\uldb String expressions}{\v String_expressions}.\par}{\fi-2880\li2880\tx2880factor:\tab {\uldb factor invocation}{\v factor_invocation}.\par}{\fi-2880\li2880\tx2880failure exit status:\tab {\uldb false invocation}{\v false_invocation}.\par}{\fi-2880\li2880\tx2880false:\tab {\uldb false invocation}{\v false_invocation}.\par}{\fi-2880\li2880\tx2880fascism:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880ff{\i n}:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880fields, padding numeric:\tab {\uldb Padding}{\v Padding}.\par}{\fi-2880\li2880\tx2880file characteristics tests:\tab {\uldb File characteristics tests}{\v File_characteristics_tests}.\par}{\fi-2880\li2880\tx2880file name manipulation:\tab {\uldb File name manipulation}{\v File_name_manipulation}.\par}{\fi-2880\li2880\tx2880file name pattern expansion, disabled:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880file names, checking validity and portability:\tab {\uldb pathchk invocation}{\v pathchk_invocation}.\par}{\fi-2880\li2880\tx2880file names, stripping directory and suffix:\tab {\uldb basename invocation}{\v basename_invocation}.\par}{\fi-2880\li2880\tx2880file type tests:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880first in date strings:\tab {\uldb General date syntax}{\v General_date_syntax}.\par}{\fi-2880\li2880\tx2880flow control, hardware:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880flow control, software:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880flushing, disabling:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880formatting of numbers in {\f1{}seq}:\tab {\uldb seq invocation}{\v seq_invocation}.\par}{\fi-2880\li2880\tx2880formatting times:\tab {\uldb date invocation}{\v date_invocation}.\par}{\fi-2880\li2880\tx2880fortnight in date strings:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880French Winter Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880general date syntax:\tab {\uldb General date syntax}{\v General_date_syntax}.\par}{\fi-2880\li2880\tx2880getdate:\tab {\uldb Date input formats}{\v Date_input_formats}.\par}{\fi-2880\li2880\tx2880globbing, disabled:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880Greenwich Mean Time <1>:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880Greenwich Mean Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880group wheel, not supported:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880groups:\tab {\uldb groups invocation}{\v groups_invocation}.\par}{\fi-2880\li2880\tx2880Guam Standard Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880hangups, immunity to:\tab {\uldb nohup invocation}{\v nohup_invocation}.\par}{\fi-2880\li2880\tx2880hard link check:\tab {\uldb File characteristics tests}{\v File_characteristics_tests}.\par}{\fi-2880\li2880\tx2880hardware flow control:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880hardware type:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880hat notation for control characters:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880Hawaii Standard Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880help, online:\tab {\uldb Common options}{\v Common_options}.\par}{\fi-2880\li2880\tx2880history:\tab {\uldb Introduction}{\v Introduction}.\par}{\fi-2880\li2880\tx2880HOME:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880host processor type:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880hostname <1>:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880hostname:\tab {\uldb hostname invocation}{\v hostname_invocation}.\par}{\fi-2880\li2880\tx2880hour in date strings:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880hup[cl]:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880icanon:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880icrnl:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880id:\tab {\uldb id invocation}{\v id_invocation}.\par}{\fi-2880\li2880\tx2880idle time:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880iexten:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880ignbrk:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880igncr:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880ignpar:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880imaxbel:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880immunity to hangups:\tab {\uldb nohup invocation}{\v nohup_invocation}.\par}{\fi-2880\li2880\tx2880index:\tab {\uldb String expressions}{\v String_expressions}.\par}{\fi-2880\li2880\tx2880information, about current users:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880inlcr:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880inpck:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880input settings:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880International Date Line East:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880International Date Line West:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880intr:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880introduction:\tab {\uldb Introduction}{\v Introduction}.\par}{\fi-2880\li2880\tx2880invocation of commands, modified:\tab {\uldb Modified command invocation}{\v Modified_command_invocation}.\par}{\fi-2880\li2880\tx2880isig:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880ISO 8601 date format:\tab {\uldb Calendar date item}{\v Calendar_date_item}.\par}{\fi-2880\li2880\tx2880ispeed:\tab {\uldb Special}{\v Special}.\par}{\fi-2880\li2880\tx2880istrip:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880items in date strings:\tab {\uldb General date syntax}{\v General_date_syntax}.\par}{\fi-2880\li2880\tx2880iuclc:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880ixany:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880ixoff:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880ixon:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880Japan Standard Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880kill:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880last in date strings:\tab {\uldb General date syntax}{\v General_date_syntax}.\par}{\fi-2880\li2880\tx2880last {\i day} <1>:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880last {\i day}:\tab {\uldb Day of week item}{\v Day_of_week_item}.\par}{\fi-2880\li2880\tx2880LCASE:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880lcase:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880leading directory components, stripping:\tab {\uldb basename invocation}{\v basename_invocation}.\par}{\fi-2880\li2880\tx2880length:\tab {\uldb String expressions}{\v String_expressions}.\par}{\fi-2880\li2880\tx2880line:\tab {\uldb Special}{\v Special}.\par}{\fi-2880\li2880\tx2880line settings of terminal:\tab {\uldb stty invocation}{\v stty_invocation}.\par}{\fi-2880\li2880\tx2880LINES:\tab {\uldb Special}{\v Special}.\par}{\fi-2880\li2880\tx2880literal directives:\tab {\uldb Literal directives}{\v Literal_directives}.\par}{\fi-2880\li2880\tx2880litout:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880lnext:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880local settings:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880logging out and continuing to run:\tab {\uldb nohup invocation}{\v nohup_invocation}.\par}{\fi-2880\li2880\tx2880logical and operator <1>:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880logical and operator:\tab {\uldb Connectives for test}{\v Connectives_for_test}.\par}{\fi-2880\li2880\tx2880logical connectives <1>:\tab {\uldb Connectives for test}{\v Connectives_for_test}.\par}{\fi-2880\li2880\tx2880logical connectives:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880logical or operator <1>:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880logical or operator:\tab {\uldb Connectives for test}{\v Connectives_for_test}.\par}{\fi-2880\li2880\tx2880login name, printing:\tab {\uldb logname invocation}{\v logname_invocation}.\par}{\fi-2880\li2880\tx2880login sessions, printing users with:\tab {\uldb users invocation}{\v users_invocation}.\par}{\fi-2880\li2880\tx2880login shell:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880login shell, creating:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880login time:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880logname:\tab {\uldb logname invocation}{\v logname_invocation}.\par}{\fi-2880\li2880\tx2880LOGNAME:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880lowercase, translating to output:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880machine type:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880machine-readable {\f1{}stty} output:\tab {\uldb stty invocation}{\v stty_invocation}.\par}{\fi-2880\li2880\tx2880MacKenzie, David <1>:\tab {\uldb Introduction}{\v Introduction}.\par}{\fi-2880\li2880\tx2880MacKenzie, David:\tab {\uldb Authors of getdate}{\v Authors_of_getdate}.\par}{\fi-2880\li2880\tx2880manipulation of file names:\tab {\uldb File name manipulation}{\v File_name_manipulation}.\par}{\fi-2880\li2880\tx2880match:\tab {\uldb String expressions}{\v String_expressions}.\par}{\fi-2880\li2880\tx2880matching patterns:\tab {\uldb String expressions}{\v String_expressions}.\par}{\fi-2880\li2880\tx2880message status:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880Meyering, Jim <1>:\tab {\uldb Introduction}{\v Introduction}.\par}{\fi-2880\li2880\tx2880Meyering, Jim:\tab {\uldb Authors of getdate}{\v Authors_of_getdate}.\par}{\fi-2880\li2880\tx2880Middle European Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880Middle European Winter Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880midnight in date strings:\tab {\uldb Time of day item}{\v Time_of_day_item}.\par}{\fi-2880\li2880\tx2880min:\tab {\uldb Special}{\v Special}.\par}{\fi-2880\li2880\tx2880minute in date strings:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880minutes, timezone correction by:\tab {\uldb Time of day item}{\v Time_of_day_item}.\par}{\fi-2880\li2880\tx2880MIT AI lab:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880modem control:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880modified command invocation:\tab {\uldb Modified command invocation}{\v Modified_command_invocation}.\par}{\fi-2880\li2880\tx2880modified environment, running a program in a:\tab {\uldb env invocation}{\v env_invocation}.\par}{\fi-2880\li2880\tx2880modifying scheduling priority:\tab {\uldb nice invocation}{\v nice_invocation}.\par}{\fi-2880\li2880\tx2880month in date strings:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880month names in date strings:\tab {\uldb Calendar date item}{\v Calendar_date_item}.\par}{\fi-2880\li2880\tx2880months, written-out:\tab {\uldb General date syntax}{\v General_date_syntax}.\par}{\fi-2880\li2880\tx2880Mountain Standard Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880multiplication:\tab {\uldb Numeric expressions}{\v Numeric_expressions}.\par}{\fi-2880\li2880\tx2880name of operating system:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880named pipe check:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880network node name:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880New Zealand Standard Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880newer-than file check:\tab {\uldb File characteristics tests}{\v File_characteristics_tests}.\par}{\fi-2880\li2880\tx2880newline echoing after {\f1{}kill}:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880newline, echoing:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880newline, translating to crlf:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880newline, translating to return:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880next in date strings:\tab {\uldb General date syntax}{\v General_date_syntax}.\par}{\fi-2880\li2880\tx2880next {\i day} <1>:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880next {\i day}:\tab {\uldb Day of week item}{\v Day_of_week_item}.\par}{\fi-2880\li2880\tx2880nice:\tab {\uldb nice invocation}{\v nice_invocation}.\par}{\fi-2880\li2880\tx2880nl:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880nl{\i n}:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880no-op:\tab {\uldb true invocation}{\v true_invocation}.\par}{\fi-2880\li2880\tx2880node name:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880noflsh:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880nohup:\tab {\uldb nohup invocation}{\v nohup_invocation}.\par}{\fi-2880\li2880\tx2880nohup.out:\tab {\uldb nohup invocation}{\v nohup_invocation}.\par}{\fi-2880\li2880\tx2880Nome Standard Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880non-directory suffix, stripping:\tab {\uldb dirname invocation}{\v dirname_invocation}.\par}{\fi-2880\li2880\tx2880nonempty file check:\tab {\uldb File characteristics tests}{\v File_characteristics_tests}.\par}{\fi-2880\li2880\tx2880nonzero-length string check:\tab {\uldb String tests}{\v String_tests}.\par}{\fi-2880\li2880\tx2880noon in date strings:\tab {\uldb Time of day item}{\v Time_of_day_item}.\par}{\fi-2880\li2880\tx2880not-equal string check:\tab {\uldb String tests}{\v String_tests}.\par}{\fi-2880\li2880\tx2880now in date strings:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880numbers, written-out:\tab {\uldb General date syntax}{\v General_date_syntax}.\par}{\fi-2880\li2880\tx2880numeric expressions:\tab {\uldb Numeric expressions}{\v Numeric_expressions}.\par}{\fi-2880\li2880\tx2880numeric field padding:\tab {\uldb Padding}{\v Padding}.\par}{\fi-2880\li2880\tx2880numeric operations:\tab {\uldb Numeric operations}{\v Numeric_operations}.\par}{\fi-2880\li2880\tx2880numeric sequences:\tab {\uldb seq invocation}{\v seq_invocation}.\par}{\fi-2880\li2880\tx2880numeric tests:\tab {\uldb Numeric tests}{\v Numeric_tests}.\par}{\fi-2880\li2880\tx2880ocrnl:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880odd parity:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880oddp:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880ofdel:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880ofill:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880olcuc:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880older-than file check:\tab {\uldb File characteristics tests}{\v File_characteristics_tests}.\par}{\fi-2880\li2880\tx2880onlcr:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880onlret:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880onocr:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880operating system name:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880operating system release:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880operating system version:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880opost:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880options for {\f1{}date}:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880or operator <1>:\tab {\uldb Connectives for test}{\v Connectives_for_test}.\par}{\fi-2880\li2880\tx2880or operator:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880ordinal numbers:\tab {\uldb General date syntax}{\v General_date_syntax}.\par}{\fi-2880\li2880\tx2880ospeed:\tab {\uldb Special}{\v Special}.\par}{\fi-2880\li2880\tx2880output settings:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880owned by effective gid check:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880owned by effective uid check:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880Pacific Standard Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880pad character:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880pad instead of timing for delaying:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880padding of numeric fields:\tab {\uldb Padding}{\v Padding}.\par}{\fi-2880\li2880\tx2880parenb:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880parentheses for grouping:\tab {\uldb expr invocation}{\v expr_invocation}.\par}{\fi-2880\li2880\tx2880parity:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880parity errors, marking:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880parity, ignoring:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880parmrk:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880parodd:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880parsing date strings:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880pass8:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880passwd entry, and {\f1{}su} shell:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880PATH <1>:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880PATH:\tab {\uldb env invocation}{\v env_invocation}.\par}{\fi-2880\li2880\tx2880pathchk:\tab {\uldb pathchk invocation}{\v pathchk_invocation}.\par}{\fi-2880\li2880\tx2880pattern matching:\tab {\uldb String expressions}{\v String_expressions}.\par}{\fi-2880\li2880\tx2880permission tests:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880Pinard, F.:\tab {\uldb Authors of getdate}{\v Authors_of_getdate}.\par}{\fi-2880\li2880\tx2880Pinard, Franc,ois:\tab {\uldb Introduction}{\v Introduction}.\par}{\fi-2880\li2880\tx2880pipe fitting:\tab {\uldb tee invocation}{\v tee_invocation}.\par}{\fi-2880\li2880\tx2880pm in date strings:\tab {\uldb Time of day item}{\v Time_of_day_item}.\par}{\fi-2880\li2880\tx2880portable file names, checking for:\tab {\uldb pathchk invocation}{\v pathchk_invocation}.\par}{\fi-2880\li2880\tx2880POSIX.2:\tab {\uldb Introduction}{\v Introduction}.\par}{\fi-2880\li2880\tx2880prime factors:\tab {\uldb factor invocation}{\v factor_invocation}.\par}{\fi-2880\li2880\tx2880print name of current directory:\tab {\uldb pwd invocation}{\v pwd_invocation}.\par}{\fi-2880\li2880\tx2880print system information:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880print terminal file name:\tab {\uldb tty invocation}{\v tty_invocation}.\par}{\fi-2880\li2880\tx2880printenv:\tab {\uldb printenv invocation}{\v printenv_invocation}.\par}{\fi-2880\li2880\tx2880printf:\tab {\uldb printf invocation}{\v printf_invocation}.\par}{\fi-2880\li2880\tx2880printing all or some environment variables:\tab {\uldb printenv invocation}{\v printenv_invocation}.\par}{\fi-2880\li2880\tx2880printing current user information:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880printing current usernames:\tab {\uldb users invocation}{\v users_invocation}.\par}{\fi-2880\li2880\tx2880printing groups a user is in:\tab {\uldb groups invocation}{\v groups_invocation}.\par}{\fi-2880\li2880\tx2880printing real and effective uid and gid:\tab {\uldb id invocation}{\v id_invocation}.\par}{\fi-2880\li2880\tx2880printing text:\tab {\uldb echo invocation}{\v echo_invocation}.\par}{\fi-2880\li2880\tx2880printing text, commands for:\tab {\uldb Printing text}{\v Printing_text}.\par}{\fi-2880\li2880\tx2880printing the current time:\tab {\uldb date invocation}{\v date_invocation}.\par}{\fi-2880\li2880\tx2880printing the effective UID:\tab {\uldb whoami invocation}{\v whoami_invocation}.\par}{\fi-2880\li2880\tx2880printing the hostname:\tab {\uldb hostname invocation}{\v hostname_invocation}.\par}{\fi-2880\li2880\tx2880printing user's login name:\tab {\uldb logname invocation}{\v logname_invocation}.\par}{\fi-2880\li2880\tx2880priority, modifying:\tab {\uldb nice invocation}{\v nice_invocation}.\par}{\fi-2880\li2880\tx2880prterase:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880pure numbers in date strings:\tab {\uldb Pure numbers in date strings}{\v Pure_numbers_in_date_strings}.\par}{\fi-2880\li2880\tx2880pwd:\tab {\uldb pwd invocation}{\v pwd_invocation}.\par}{\fi-2880\li2880\tx2880quit:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880raw:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880read from stdin and write to stdout and files:\tab {\uldb tee invocation}{\v tee_invocation}.\par}{\fi-2880\li2880\tx2880readable file check:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880real uid and gid, printing:\tab {\uldb id invocation}{\v id_invocation}.\par}{\fi-2880\li2880\tx2880redirection:\tab {\uldb Redirection}{\v Redirection}.\par}{\fi-2880\li2880\tx2880regular expression matching:\tab {\uldb String expressions}{\v String_expressions}.\par}{\fi-2880\li2880\tx2880regular file check:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880relations, numeric or string:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}{\fi-2880\li2880\tx2880relative items in date strings:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880release of operating system:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880remainder:\tab {\uldb Numeric expressions}{\v Numeric_expressions}.\par}{\fi-2880\li2880\tx2880remote hostname:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880repeated output of a string:\tab {\uldb yes invocation}{\v yes_invocation}.\par}{\fi-2880\li2880\tx2880restricted shell:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880return, ignoring:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880return, translating to newline <1>:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880return, translating to newline:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880root directory, running a program in a specified:\tab {\uldb chroot invocation}{\v chroot_invocation}.\par}{\fi-2880\li2880\tx2880root, becoming:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880rows:\tab {\uldb Special}{\v Special}.\par}{\fi-2880\li2880\tx2880rprnt:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880RTS/CTS flow control:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880running a program in a modified environment:\tab {\uldb env invocation}{\v env_invocation}.\par}{\fi-2880\li2880\tx2880running a program in a specified root directory:\tab {\uldb chroot invocation}{\v chroot_invocation}.\par}{\fi-2880\li2880\tx2880Salz, Rich:\tab {\uldb Authors of getdate}{\v Authors_of_getdate}.\par}{\fi-2880\li2880\tx2880same file check:\tab {\uldb File characteristics tests}{\v File_characteristics_tests}.\par}{\fi-2880\li2880\tx2880sane:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880scheduling priority, modifying:\tab {\uldb nice invocation}{\v nice_invocation}.\par}{\fi-2880\li2880\tx2880seconds since the epoch:\tab {\uldb Time directives}{\v Time_directives}.\par}{\fi-2880\li2880\tx2880separator for numbers in {\f1{}seq}:\tab {\uldb seq invocation}{\v seq_invocation}.\par}{\fi-2880\li2880\tx2880seq:\tab {\uldb seq invocation}{\v seq_invocation}.\par}{\fi-2880\li2880\tx2880sequence of numbers:\tab {\uldb seq invocation}{\v seq_invocation}.\par}{\fi-2880\li2880\tx2880set-group-id check:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880set-user-id check:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880setting the hostname:\tab {\uldb hostname invocation}{\v hostname_invocation}.\par}{\fi-2880\li2880\tx2880setting the time:\tab {\uldb Setting the time}{\v Setting_the_time}.\par}{\fi-2880\li2880\tx2880SHELL:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880shell utilities:\tab {\uldb Top}{\v Top}.\par}{\fi-2880\li2880\tx2880size:\tab {\uldb Special}{\v Special}.\par}{\fi-2880\li2880\tx2880sleep:\tab {\uldb sleep invocation}{\v sleep_invocation}.\par}{\fi-2880\li2880\tx2880socket check:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880software flow control:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880special characters:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880special settings:\tab {\uldb Special}{\v Special}.\par}{\fi-2880\li2880\tx2880speed:\tab {\uldb Special}{\v Special}.\par}{\fi-2880\li2880\tx2880Stallman, Richard:\tab {\uldb Introduction}{\v Introduction}.\par}{\fi-2880\li2880\tx2880start:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880sticky bit check:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880stop:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880stop bits:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880strftime and {\f1{}date}:\tab {\uldb date invocation}{\v date_invocation}.\par}{\fi-2880\li2880\tx2880string expressions:\tab {\uldb String expressions}{\v String_expressions}.\par}{\fi-2880\li2880\tx2880string tests:\tab {\uldb String tests}{\v String_tests}.\par}{\fi-2880\li2880\tx2880strip directory and suffix from file names:\tab {\uldb basename invocation}{\v basename_invocation}.\par}{\fi-2880\li2880\tx2880stripping non-directory suffix:\tab {\uldb dirname invocation}{\v dirname_invocation}.\par}{\fi-2880\li2880\tx2880stty:\tab {\uldb stty invocation}{\v stty_invocation}.\par}{\fi-2880\li2880\tx2880su:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880substitute user and group ids:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880substr:\tab {\uldb String expressions}{\v String_expressions}.\par}{\fi-2880\li2880\tx2880subtraction:\tab {\uldb Numeric expressions}{\v Numeric_expressions}.\par}{\fi-2880\li2880\tx2880successful exit:\tab {\uldb true invocation}{\v true_invocation}.\par}{\fi-2880\li2880\tx2880suffix, stripping from file names:\tab {\uldb basename invocation}{\v basename_invocation}.\par}{\fi-2880\li2880\tx2880super-user, becoming:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880supplementary groups, printing:\tab {\uldb groups invocation}{\v groups_invocation}.\par}{\fi-2880\li2880\tx2880susp:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880Swedish Winter Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880swtch:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880symbolic link check:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880symbolic links and {\f1{}pwd}:\tab {\uldb pwd invocation}{\v pwd_invocation}.\par}{\fi-2880\li2880\tx2880syslog:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880system context:\tab {\uldb System context}{\v System_context}.\par}{\fi-2880\li2880\tx2880system information, printing:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880system name, printing:\tab {\uldb hostname invocation}{\v hostname_invocation}.\par}{\fi-2880\li2880\tx2880tabs:\tab {\uldb Combination}{\v Combination}.\par}{\fi-2880\li2880\tx2880tab{\i n}:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880tandem:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880tee:\tab {\uldb tee invocation}{\v tee_invocation}.\par}{\fi-2880\li2880\tx2880TERM:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880terminal check:\tab {\uldb File type tests}{\v File_type_tests}.\par}{\fi-2880\li2880\tx2880terminal file name, printing:\tab {\uldb tty invocation}{\v tty_invocation}.\par}{\fi-2880\li2880\tx2880terminal lines, currently used:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880terminal settings:\tab {\uldb stty invocation}{\v stty_invocation}.\par}{\fi-2880\li2880\tx2880test:\tab {\uldb test invocation}{\v test_invocation}.\par}{\fi-2880\li2880\tx2880text, displaying:\tab {\uldb echo invocation}{\v echo_invocation}.\par}{\fi-2880\li2880\tx2880this in date strings:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880time:\tab {\uldb Special}{\v Special}.\par}{\fi-2880\li2880\tx2880time directives:\tab {\uldb Time directives}{\v Time_directives}.\par}{\fi-2880\li2880\tx2880time formats:\tab {\uldb date invocation}{\v date_invocation}.\par}{\fi-2880\li2880\tx2880time of day item:\tab {\uldb Time of day item}{\v Time_of_day_item}.\par}{\fi-2880\li2880\tx2880time setting:\tab {\uldb Setting the time}{\v Setting_the_time}.\par}{\fi-2880\li2880\tx2880time units:\tab {\uldb sleep invocation}{\v sleep_invocation}.\par}{\fi-2880\li2880\tx2880time, printing or setting:\tab {\uldb date invocation}{\v date_invocation}.\par}{\fi-2880\li2880\tx2880timezone correction:\tab {\uldb Time of day item}{\v Time_of_day_item}.\par}{\fi-2880\li2880\tx2880timezone item:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880today in date strings:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880tomorrow:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880tomorrow in date strings:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880tostop:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880true:\tab {\uldb true invocation}{\v true_invocation}.\par}{\fi-2880\li2880\tx2880tty:\tab {\uldb tty invocation}{\v tty_invocation}.\par}{\fi-2880\li2880\tx2880Twenex:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880two-way parity:\tab {\uldb Control}{\v Control}.\par}{\fi-2880\li2880\tx2880u, and disabling special characters:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880uname:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880Universal Coordinated Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880uppercase, translating to lowercase:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880USER:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880user id, switching:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880user information, commands for:\tab {\uldb User information}{\v User_information}.\par}{\fi-2880\li2880\tx2880user name, printing:\tab {\uldb logname invocation}{\v logname_invocation}.\par}{\fi-2880\li2880\tx2880usernames, printing current:\tab {\uldb users invocation}{\v users_invocation}.\par}{\fi-2880\li2880\tx2880users:\tab {\uldb users invocation}{\v users_invocation}.\par}{\fi-2880\li2880\tx2880USSR Zone:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880utilities for shell programming:\tab {\uldb Top}{\v Top}.\par}{\fi-2880\li2880\tx2880utmp:\tab {\uldb logname invocation}{\v logname_invocation}.\par}{\fi-2880\li2880\tx2880valid file names, checking for:\tab {\uldb pathchk invocation}{\v pathchk_invocation}.\par}{\fi-2880\li2880\tx2880version number, finding:\tab {\uldb Common options}{\v Common_options}.\par}{\fi-2880\li2880\tx2880version of operating system:\tab {\uldb uname invocation}{\v uname_invocation}.\par}{\fi-2880\li2880\tx2880vt{\i n}:\tab {\uldb Output}{\v Output}.\par}{\fi-2880\li2880\tx2880week in date strings:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880werase:\tab {\uldb Characters}{\v Characters}.\par}{\fi-2880\li2880\tx2880West African Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880West Australian Standard Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880Western European Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880wheel group, not supported:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880who:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880who am i:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880whoami:\tab {\uldb whoami invocation}{\v whoami_invocation}.\par}{\fi-2880\li2880\tx2880working context:\tab {\uldb Working context}{\v Working_context}.\par}{\fi-2880\li2880\tx2880working directory, printing:\tab {\uldb pwd invocation}{\v pwd_invocation}.\par}{\fi-2880\li2880\tx2880writable file check:\tab {\uldb Access permission tests}{\v Access_permission_tests}.\par}{\fi-2880\li2880\tx2880write, allowed:\tab {\uldb who invocation}{\v who_invocation}.\par}{\fi-2880\li2880\tx2880xcase:\tab {\uldb Local}{\v Local}.\par}{\fi-2880\li2880\tx2880XON/XOFF flow control:\tab {\uldb Input}{\v Input}.\par}{\fi-2880\li2880\tx2880year in date strings:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880yes:\tab {\uldb yes invocation}{\v yes_invocation}.\par}{\fi-2880\li2880\tx2880yesterday:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880yesterday in date strings:\tab {\uldb Relative item in date strings}{\v Relative_item_in_date_strings}.\par}{\fi-2880\li2880\tx2880Yukon Standard Time:\tab {\uldb Timezone item}{\v Timezone_item}.\par}{\fi-2880\li2880\tx2880zero-length string check:\tab {\uldb String tests}{\v String_tests}.\par}{\fi-2880\li2880\tx2880{\f1{}-su}:\tab {\uldb su invocation}{\v su_invocation}.\par}{\fi-2880\li2880\tx2880{\f1{}date} options:\tab {\uldb Options for date}{\v Options_for_date}.\par}{\fi-2880\li2880\tx2880|:\tab {\uldb Relations for expr}{\v Relations_for_expr}.\par}\page K{\footnote Makertf}#{\footnote hcMakertf}${\footnote \pard{}About Makertf}\pard{\fs24\b About Makertf}\par\par\pard{}Makertf is a program that converts "Texinfo" files into "Rich Text Format" (RTF) files. It can be used to make WinHelp Files from GNU manuals and other documentation written in Texinfo. Visit http://www.snafu.de/~cschenk/makertf for more information.}